sig
  exception Timeout
  val run :
    timeout:float ->
    f:('-> 'b) ->
    sexp_of:('-> Core.Std.Sexp.t) ->
    of_sexp:(Core.Std.Sexp.t -> 'b) -> '-> 'b
end