class T::Types::TypedClass

def build_type

def build_type
  type
  nil
end

def initialize(type)

def initialize(type)
  @inner_type = type
end

def name

overrides Base
def name
  "T::Class[#{type.name}]"
end

def subtype_of_single?(type)

overrides Base
def subtype_of_single?(type)
ype
ypedClass
eat like generics are erased

imple
s <= type.raw_type
e

def type

def type
  @type ||= T::Utils.coerce(@inner_type)
end

def underlying_class

def underlying_class
  Class
end

def valid?(obj)

overrides Base
def valid?(obj)
  Class.===(obj)
end