sig
  val run : OASISTypes.prog -> OASISTypes.args -> string array -> unit
  val hook : ?failsafe:bool -> OASISTypes.custom -> ('a -> 'b) -> 'a -> 'b
end