sig val get_exn : exn -> 'a option -> 'a val fold : ('b -> 'a -> 'b) -> 'b -> 'a option -> 'b val map_fold : ('a -> 'b -> 'a * 'b) -> 'a -> 'b option -> 'a * 'b option end