type f = | May_pos| May_neg| May_weak| Inj| Pos| Neg| Inv
val subset : t -> t -> boolval set : f -> bool -> t -> tval get_upper : t -> bool * boolval get_lower : t -> bool * bool * bool * boolval unknown_signature : injective:bool -> arity:int -> t list