There are also
- GitHub - janestreet/typerep: Runtime types for OCaml (beta version)
- Nomadic Labs / data-encoding · GitLab
Incidentally, at LexiFi we have had a fork of OCaml for over 20 years that tightly integrates a runtime representation of types with the typechecker, and the result is a very powerful combo (it is the core technology behind most of our development).
I agree that having a common representation of types upstream would be great. But as already remarked by @dbuenzli, the difficult part is to reach a consensus on the design (especially as some of the questions may not have clear answers). In any case, we already have a module for it: https://github.com/ocaml/ocaml/blob/trunk/stdlib/type.mli
Anyway, for those that want to learn more about the backgound:
- https://www.youtube.com/watch?v=0BpmxJGaaFo
- https://v2.ocaml.org/meetings/ocaml/2013/proposals/runtime-types.pdf
- https://v2.ocaml.org/meetings/ocaml/2013/slides/henry.pdf
- https://www.microsoft.com/en-us/research/wp-content/uploads/2016/08/dynamic.pdf (the same idea in Haskell)
Cheers,
Nicolas