class T::Types::TypedEnumeratorLazy

def name

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

def new(*args, &blk)

def new(*args, &blk)
  T.unsafe(Enumerator::Lazy).new(*args, &blk)
end

def recursively_valid?(obj)

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

def underlying_class

def underlying_class
  Enumerator::Lazy
end

def valid?(obj)

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