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