Statically “extend” a record-ish data type without indirection hassle
问题 I am currently working with a three-level process for which I need some information to flow being accessed and updated. The information is also three-leveled, in such a way that a process at one level may need to access/update information at its level and at higher levels. type info_0 = { ... fields ... } type info_1 = { ... fields ... } type info_2 = { ... fields ... } fun0 will do some stuff with an info_0 , then pass it to fun1 along with an info_1 , then get back the resulting info_0 and