What is the maximum value of Nat64, Nat32, Nat16, Nat8, Int64, Int32, Int16, and Int8?

Use something like the following as your hash function(actually hard code the number for fewer cycles)

func(a:Nat){Nat32.fromNat(a%(2^32 -1))};

Also see: Hash Collisions