docs: def new(type_dict, type_factory, *type_parameters):
      """
        Create a fully reified type from a type schema.
      """
      type_tuple = (type_factory,) + type_parameters
      if type_tuple not in type_dict:
        factory = TypeFactory.get_factory(type_factory)
        reified_type = factory.create(type_dict, *type_parameters)
        type_dict[type_tuple] = reified_type
      return type_dict[type_tuple]