module T::Hash

def self.[](keys, values)

def self.[](keys, values)
  if keys.is_a?(T::Types::Untyped) && values.is_a?(T::Types::Untyped)
    T::Types::TypedHash::Untyped.new
  else
    T::Types::TypedHash.new(keys: keys, values: values)
  end
end