code: def check(obj)
        if name == 'Boolean'
          obj == true || obj == false
        else
          obj.kind_of? constant
        end
      end
docs: Type checks a given object. Special consideration is given to
   the pseudo-class `Boolean`, which does not actually exist in Ruby,
   but is commonly used to mean `TrueClass, FalseClass`.
  
   @param (see Type#check)
   @return [Boolean] `true` if `obj.kind_of?(constant)`.