The generativity of record types is, I believe, one of the key prereqs for achieving a decidable type inference algorithm in the absence of any type annotations, in caml. That is, when you write a caml program and it fails to type-check, you can't make it type-check by adding "enough" type-annotations. For a programmer, this is critical -- when the compiler tells you that your program doesn't type-check, it means that your code is actually broken. Whereas in SML/NJ, you might need to add some more type-annotations. It was one of the things that convinced me to switch to caml, lo these many decades. On Tue, Jan 23, 2018 at 8:05 AM, Jeremy Yallop wrote: > > Yes: record definitions are indeed generative in OCaml, unlike in Standard > ML. >