class T::Types::TypedEnumerator

def name

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

def new(*args, &blk) # rubocop:disable PrisonGuard/BanBuiltinMethodOverride

rubocop:disable PrisonGuard/BanBuiltinMethodOverride
def new(*args, &blk) # rubocop:disable PrisonGuard/BanBuiltinMethodOverride
  T.unsafe(Enumerator).new(*args, &blk)
end

def valid?(obj)

@override Base
def valid?(obj)
  obj.is_a?(Enumerator) && super
end