A ppx writer that generates hash functions from type expressions and definitions.