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