module T::Types::Simple::Private::Pool
def self.type_for_module(mod)
def self.type_for_module(mod) cached = mod.instance_variable_get(:@__as_sorbet_type) return cached if cached type = if mod == ::Array T::Array[T.untyped] elsif mod == ::Set T::Set[T.untyped] elsif mod == ::Hash T::Hash[T.untyped, T.untyped] elsif mod == ::Enumerable T::Enumerable[T.untyped] elsif mod == ::Enumerator T::Enumerator[T.untyped] elsif mod == ::Range T::Range[T.untyped] else Simple.new(mod) end mod.instance_variable_set(:@__as_sorbet_type, type) unless mod.frozen? type end