rustc encodes a lot of hashes. If hashes are stored as
will apply varint encoding to the hashes, which is less efficient than directly encoding the 8
or 16 bytes of the hash.
The types in this module represent 64-bit or 128-bit hashes produced by a
Hash128 expose some utilty functions to encourage users to not extract the inner
hash value as an integer type and accidentally apply varint encoding to it.
In contrast with
Fingerprint, users of these types cannot and should not attempt to construct
and decompose these types into constitutent pieces. The point of these types is only to
connect the fact that they can only be produced by a
StableHasher to their