Make.KeySourceThe number of bits necessary to encode the maximum output value of hash. `Hashtbl.hash` uses 30 bits.
Overestimating the hash_size will result in performance drops; underestimation will result in undefined behavior.
encode is an encoding function. The resultant encoded values must have size encoded_size.
encoded_size is the size of the result of encode, expressed in number of bytes.