class T::Types::TypedEnumerator

def name

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

def new(...)

def new(...)
  Enumerator.new(...)
end

def recursively_valid?(obj)

overrides Base
def recursively_valid?(obj)
  obj.is_a?(Enumerator) && super
end

def underlying_class

def underlying_class
  Enumerator
end

def valid?(obj)

overrides Base
def valid?(obj)
  obj.is_a?(Enumerator)
end