Functor Gvars.Make


module Make: 
functor (Obs : GenVars.OBSERVER) ->
functor (Type : TYPE with type obs = Obs.t) ->
functor (State : GenVars.STATE with type obs = Obs.t) -> VARS with type TVar.elm = Type.t and type PrVar.elm = Pre.t and type TVar.obs = Obs.t and type LSVar.obs = Obs.t and type PrVar.obs = Obs.t and type OTVar.obs = Obs.t and type LEVar.obs = Obs.t
Functor that creates the variables. Gets a type module and an observer module a functor parameters.
Parameters:
Obs : GenVars.OBSERVER
Type : TYPE with type obs = Obs.t
State : GenVars.STATE with type obs = Obs.t

module TVar: sig .. end
module LSVar: sig .. end 
   with type elm = LSet.t
module PrVar: sig .. end
module ObjectType: sig .. end
module OTVar: MapVar.S  
   with type I.img = TVar.t
   and type I.key = Syntax.label
module LEVar: sig .. end 
   with type I.img = OTVar.t
   and type I.key = Loc.t
   and type domain_var = LSVar.t