sig
  type param = NotUsed | ByValue | ByRef | InContext | InArray | InHeap
  val pp_param : Format.formatter -> MemVar.param -> unit
  module type VarUsage =
    sig
      val datatype : string
      val param : Cil_types.varinfo -> MemVar.param
      val separation : unit -> Separation.clause
    end
  module Make : functor (V : VarUsage) (M : Memory.Model-> Memory.Model
end