Containing contagious types with OCaml modules

In the previous post we looked at a way to extend product types with new fields and sum types with new constructors, using row types, in Fir. A problem with the approach was that it required adding type parameters to the type being extended. In the cases where the extended type is a sum type and different constructors are extended with different fields, we may even need more than one type…