OCaml 手册中缺少关于 unboxed/boxed 的说明

Missing clarification in the OCaml manual about unboxed/boxed

OCaml 手册指出:

As another optimization, unboxable record types are represented specially; unboxable record types are the immutable record types that have only one field.

(https://caml.inria.fr/pub/docs/manual-ocaml/intfc.html#ss:c-tuples-and-records)

但是那个“一个字段”可以有哪些类型呢?仅限原生,还是任何记录类型?

任何类型:OCaml 内存表示是统一的。

更准确地说,就内存表示而言,OCaml 值要么是整数,要么是指向块的指针。 一个块由 header 后跟多个值组成。

拆箱用此值替换指向仅包含一个 OCaml 值的块的指针的拆箱内存表示。