I'm looking at GADT definitions, and they use objects instead of records. I was wondering why, as it seems like objects are pretty much never used in general in OCaml. Is there a difference?
For example:
type (_, _, _) Basic.t +=
| Field : ('field1, 'field2, < field1 : 'field1 ; field2 : 'field2 ; .. >) t