Deriving is a library simplifying type-driven code generation on OCaml. It includes a set of useful plugins: show, eq, ord (eq), enum, iter, map (iter), fold (iter), make, yojson, and protobuf.