module T::Enumerator::Lazy

def self.[](type)

def self.[](type)
  if type.is_a?(T::Types::Untyped)
    T::Types::TypedEnumeratorLazy::Untyped.new
  else
    T::Types::TypedEnumeratorLazy.new(type)
  end
end