docs: def json_based_stable_hash(obj):
      """Computes a cross-kernel stable hash value for the given object.
  
      The supported data structure are the built-in list, tuple and dict types.
  
      Any included tuple or list, whether outer or nested, may only contain
      values of the following built-in types: bool, int, float, complex, str,
      list, tuple and dict.
  
      Any included dict, whether outer or nested, may only contain keys of a
      single type, which can be one the following built-in types: bool, int,
      float, str, and may only contain values of only the following built-in
      types: bool, int, float, complex, str, list, tuple, dict.
  
      Parameters
      ---------
      obj : bool/int/float/complex/str/dict/list/tuple
          The object for which to compute a hash value.
  
      Returns
      -------
      int
          The computed hash value.
      """
      encoded_str = json.dumps(
          obj=obj,
          skipkeys=False,
          ensure_ascii=False,
          check_circular=True,
          allow_nan=True,
          cls=None,
          indent=0,
          separators=(',', ':'),
          default=None,
          sort_keys=True,
      ).encode('utf-8')
      return hashlib.sha256(encoded_str).hexdigest()