module T::Types::Simple::GenericPatch

def name

appropriate name for that specific concrete type.
we've created a clone of that type with the `name` method returning the
it can ask the name to the type if the type is generic, since, by this point,
This method intercepts calls to the `name` method for simple types, so that
def name
  if T::Generic === @raw_type
    # for types that are generic, use the name
    # returned by the "name" method of this instance
    @name ||= T.unsafe(@raw_type).name.freeze
  else
    # otherwise, fallback to the normal name lookup
    super
  end
end