code: def hash_tuple(val, encoding='utf8', hash_key=None):
      
      hashes = (_hash_scalar(v, encoding=encoding, hash_key=hash_key)
                for v in val)
  
      h = _combine_hash_arrays(hashes, len(val))[0]
  
      return h
docs: Hash a single tuple efficiently
  
      Parameters
      ----------
      val : single tuple
      encoding : string, default 'utf8'
      hash_key : string key to encode, default to _default_hash_key
  
      Returns
      -------
      hash