module T::Enumerator::Chain

def self.[](type)

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