sig   type mheap = Hoare | ZeroAlias | Typed of MemTyped.pointer   type mvar = Raw | Var | Ref | Caveat   type setup = {     mvar : Factory.mvar;     mheap : Factory.mheap;     cint : Cint.model;     cfloat : Cfloat.model;   }   type driver = LogicBuiltins.driver   val ident : Factory.setup -> string   val descr : Factory.setup -> string   val memory : Factory.mheap -> Factory.mvar -> (module Memory.Model)   val configure : Factory.setup -> Factory.driver -> Model.tuning   val instance : Factory.setup -> Factory.driver -> Model.t   val default : Factory.setup   val parse :     ?default:Factory.setup ->     ?warning:(string -> unit) -> string list -> Factory.setup end