module T::Set

def self.[](type)

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