code: def singleton_object(cls):
      
      assert isinstance(cls, Singleton), \
          cls.__name__ + " must use Singleton metaclass"
  
      def self_instantiate(self):
          return self
  
      cls.__call__ = self_instantiate
      if hasattr(cls, '_hash_val'):
          cls.__hash__ = lambda self: hash(cls._hash_val)
          cls.__eq__ = lambda self, other: other == cls._hash_val
      else:
          cls.__hash__ = lambda self: hash(cls)
          cls.__eq__ = lambda self, other: other is self
      cls.__repr__ = lambda self: cls.__name__
      cls.__reduce__ = lambda self: cls.__name__
      obj = cls()
      obj.__name__ = cls.__name__
      obj.__qualname__ = cls.__qualname__
      return obj
docs: Class decorator that transforms (and replaces) a class definition (which
      must have a Singleton metaclass) with the actual singleton object. Ensures
      that the resulting object can still be "instantiated" (i.e., called),
      returning the same object. Also ensures the object can be pickled, is
      hashable, and has the correct string representation (the name of the
      singleton)
  
      If the class defines a `_hash_val` class attribute, the hash of the
      singleton will be the hash of that value, and the singleton will compare
      equal to that value. Otherwise, the singleton will have a unique hash and
      compare equal only to itself.