sig   val pass : ('-> 'b) -> '-> 'b   val catch : ('-> 'b) -> '-> 'b   val to_string : exn -> string   val print_backtrace : 'BatInnerIO.output -> unit   val get_backtrace : unit -> string   val record_backtrace : bool -> unit   val backtrace_status : unit -> bool   val register_printer : (exn -> string option) -> unit   val print : 'BatInnerIO.output -> exn -> unit   type raw_backtrace = Printexc.raw_backtrace   val get_raw_backtrace : unit -> BatPrintexc.raw_backtrace   val print_raw_backtrace :     Pervasives.out_channel -> BatPrintexc.raw_backtrace -> unit   val raw_backtrace_to_string : BatPrintexc.raw_backtrace -> string   val get_callstack : int -> BatPrintexc.raw_backtrace   val set_uncaught_exception_handler :     (exn -> BatPrintexc.raw_backtrace -> unit) -> unit   type backtrace_slot = Printexc.backtrace_slot   val backtrace_slots :     BatPrintexc.raw_backtrace -> BatPrintexc.backtrace_slot array option   type location =     Printexc.location = {     filename : string;     line_number : int;     start_char : int;     end_char : int;   }   module Slot :     sig       type t = BatPrintexc.backtrace_slot       val is_raise : BatPrintexc.Slot.t -> bool       val location : BatPrintexc.Slot.t -> BatPrintexc.location option       val format : int -> BatPrintexc.Slot.t -> string option     end   type raw_backtrace_slot = Printexc.raw_backtrace_slot   val raw_backtrace_length : BatPrintexc.raw_backtrace -> int   val get_raw_backtrace_slot :     BatPrintexc.raw_backtrace -> int -> BatPrintexc.raw_backtrace_slot   val convert_raw_backtrace_slot :     BatPrintexc.raw_backtrace_slot -> BatPrintexc.backtrace_slot   val exn_slot_id : exn -> int   val exn_slot_name : exn -> string end