sig val abort : (unit -> unit) -> 'val set_abort : (unit -> 'a) -> 'end