module T::Generic

def [](*types)

def [](*types)
  self
end

def type_member(variance=:invariant, fixed: nil)

def type_member(variance=:invariant, fixed: nil)
  T::Types::TypeMember.new(variance) # rubocop:disable PrisonGuard/UseOpusTypesShortcut
end

def type_template(variance=:invariant, fixed: nil)

def type_template(variance=:invariant, fixed: nil)
  T::Types::TypeTemplate.new(variance) # rubocop:disable PrisonGuard/UseOpusTypesShortcut
end