module Callback: sig .. end
   This module allows OCaml values to be registered with the C runtime
   under a symbolic name, so that C code can later call back registered
   OCaml functions, or raise registered OCaml exceptions.
let register: (string, 'a) => unit;
Callback.register n v registers the value v under
   the name n. C code can later retrieve a handle to v
   by calling caml_named_value(n).let register_exception: (string, exn) => unit;
Callback.register_exception n exn registers the
   exception contained in the exception value exn
   under the name n. C code can later retrieve a handle to
   the exception by calling caml_named_value(n). The exception
   value thus obtained is suitable for passing as first argument
   to raise_constant or raise_with_arg.