Hello, I have a question concerning the initialisation of mutually recursive record types. As a trivial example consider the following type declaration: type atype = { b : btype; } and btype = { a : atype; } This is a legal type declaration (it type-checks w/o a blink), but I can’t see how such a type would be initialised? As both “a" and “b” are values there is an apparent bootstrapping issue. But as this is a legal type declaration I guess there is a way around, wondering what the right way is. Thanks very much in advance for any clarification. —Angelo — “Simplicity is the ultimate sophistication." ~ Leonardo da Vinci