Module Shexp_process__.Prim

module Args : sig ... end
module Result_spec : sig ... end
type ('a, 'b) t = {
name : string;
args : 'a Args.Spec.t;
result : 'b Result_spec.t;
run : Shexp_process__.Env.t -> 'a;
}
val make : string -> 'a Args.Spec.t -> 'b Result_spec.t -> (Shexp_process__.Env.t -> 'a) -> ('a'b) t
val run : ('a'b) t -> Shexp_process__.Env.t -> ('a'b) Args.t -> 'b
val sexp_of_call : ('a'b) t -> ('a'b) Args.t -> Shexp_sexp.Std.Sexp.t
val sexp_of_result : ('a'b) t -> 'b -> Shexp_sexp.Std.Sexp.t option

Returns None if the result is Unit or Env