on will interrupt whatever the program was doing when
   the function was called.
<p>

   <code class="code">finalise</code> will raise <code class="code">Invalid_argument</code> if <code class="code">v</code> is not
   heap-allocated.  Some examples of values that are not
   heap-allocated are integers, constant constructors, 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-allo