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