code: def build(self) -> RegisteredTypeJSONEncoderType:
          
          class_name = "%s_%s" % (_RegisteredTypeJSONEncoder.__class__.__name__, id(self))
          # Use encoders set at the point in time at which the encoder was built
          builder_snapshot = copy.deepcopy(self)
          return type(
                  class_name,
                  (_RegisteredTypeJSONEncoder, ),
                  {
                      "_get_json_encoders_for_type": builder_snapshot.get_json_encoders_for_type
                  }
          )
docs: Builds JSON encoder that uses the encoders registered at the point in time when this method is called.
          :return: the JSON encoder