Module type Outcome.S

This is stupid, outcome is actually the interpreter. Doesn't really make sense, this should be changed.

module ESubst : Gillian.General.ESubst.S with type vt = Val.t and type t = Val.et
module Store : Gillian.General.Store.S with type vt = Val.t
module State : sig ... end
type t =
  1. | ParseAndCompileError of ParserAndCompiler.err
  2. | FailedExec of string
  3. | FinishedExec of (State.t, Val.t, (Val.t, State.err_t) Gillian.General.Exec_err.t) Engine.Exec_res.t list
val pp_what_test_did : Stdlib.Format.formatter -> t -> unit
val pp_what_branch_did : Stdlib.Format.formatter -> (State.t, Val.t, (Val.t, State.err_t) Gillian.General.Exec_err.t) Engine.Exec_res.t -> unit