module type SeededHashedType = sig .. end
type t;
let equal: (t, t) => bool;
let hash: (int, t) => int;
equal x y is true,
          then hash seed x = hash seed y for any value of seed.
          A suitable choice for hash is the function Hashtbl.seeded_hash
          below.