Module Bulk.Outcome

module type S = sig ... end

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

module Make (ValP : Gillian.General.Val.S) (ESubstP : Gillian.General.ESubst.S with type vt = ValP.t and type t = ValP.et) (StoreP : Gillian.General.Store.S with type vt = ValP.t) (StateP : sig ... end) (PC : Gillian.Command_line.ParserAndCompiler.S with type init_data = StateP.init_data) (ExternalP : Engine.External.T(PC.Annot).S) : S with module Val = ValP and module ESubst = ESubstP and module Store = StoreP and module State = StateP and module ParserAndCompiler = PC and module External = ExternalP