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