 booleans,
   the empty array, the empty list, the unit value.  The exact list
   of what is heap-allocated or not is implementation-dependent.
   Some constant values can be heap-allocated but never deallocated
   during the lifetime of the program, for example a list of integer
   constants; this is also implementation-dependent.
   Note that values of types <code class="code">float</code> are sometimes allocated and
   sometimes not, so finalising them is unsafe, and <code class="code">finalise</code> wi