sig
  val general_rec : (('a -> 'b) -> 'a -> 'b) -> 'a -> 'b
  val reentrant_unit : (unit -> 'a) -> unit -> 'a
end