def hash_tuple(val, encoding='<STR_LIT:utf8>', hash_key=None):
hashes = (_hash_scalar(v, encoding=encoding, hash_key=hash_key)<EOL>for v in val)<EOL>h = _combine_hash_arrays(hashes, len(val))[<NUM_LIT:0>]<EOL>return h<EOL>
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