sig
type elm = LSet.t
type t =
[ `Lower of elm
| `LowerNeg of elm * elm
| `LowerUpper of elm * elm
| `Neg of elm
| `Upper of elm ]
val create_lower : elm -> t
val create_upper : elm -> t
val create_neg : elm -> t
val create_lowerupper : elm -> elm -> t
val create_lowerneg : elm -> elm -> t
val compare : t -> t -> int
val merge : t -> t -> t
val get_exact : t -> elm option
val string_of : t -> string
end