
  -spec erlang:phash2(Term, Range) -> Hash
                         when
                             Term :: term(),
                             Range :: pos_integer(),
                             Hash :: non_neg_integer().

  Portable hash function that gives the same hash for the same
  Erlang term regardless of machine architecture and ERTS version
  (the BIF was introduced in ERTS 5.2). The function returns a hash
  value for Term within the range 0..Range-1. The maximum value
  for Range is 2^32. When without argument Range, a value in the
  range 0..2^27-1 is returned.

  This BIF is always to be used for hashing terms. It distributes
  small integers better than phash/2, and it is faster for bignums
  and binaries.

  Notice that the range 0..Range-1 is different from the range of 
  phash/2, which is 1..Range.
