# is? Check if a value is of a given type. For user-defined types the check walks the whole parent chain (`<<`), so a subtype is also `is?` its ancestors. ## Syntax
[is? $type-name $value]
## Examples
[is? "number" 42]      # true
[is? "string" "hi"]    # true
[is? "number" "hi"]    # false
[is? "Point" $p]       # true (user-defined type — name as a string)

# Hierarchy: Puppy << Dog << Animal
[is? "Animal" %Puppy{ :name "Rex" }]   # true
## Returns Boolean. The type name is a string (`"number"`, not `:number`). Tagged maps also satisfy `[is? "map" ...]`. ## See Also `type`, `nil?`, `satisfies?`, `deftype`