sig val to_string : exn -> string val print : ('a -> 'b) -> 'a -> 'b val catch : ('a -> 'b) -> 'a -> 'b end