sig   type t   val empty : Passive.t   val union : Passive.t -> Passive.t -> Passive.t   val bind : fresh:Lang.F.var -> bound:Lang.F.var -> Passive.t -> Passive.t   val join : Lang.F.var -> Lang.F.var -> Passive.t -> Passive.t   val conditions : Passive.t -> (Lang.F.var -> bool) -> Lang.F.pred list   val apply : Passive.t -> Lang.F.pred -> Lang.F.pred   val pretty : Format.formatter -> Passive.t -> unit end