lass="code">f</code> function can use all features of OCaml, including
   assignments that make the value reachable again.  It can also
   loop forever (in this case, the other
   finalisation functions will not be called during the execution of f,
   unless it calls <code class="code">finalise_release</code>).
   It can call <code class="code">finalise</code> on <code class="code">v</code> or other values to register other
   functions or even itself.  It can raise an exception; in this case
   the excepti