sig
  val run_main : (unit -> unit) -> 'a
  val write_wrap :
    ?mode:[ `Append | `Atomic | `Atomic_update | `Clobber ] ->
    f:(Pervasives.out_channel -> 'a) -> string -> 'a
  val ounit_tests : unit -> OUnit.test
end