Repr is a library of type combinators for defining runtime representations of OCaml types and operations that are generic over those representations (pp, to_string, compare etc.)
This library is currently experimental and provides no stability guarantee. The documentation is available online.