sig
  type t = Yes | No | X
  val is_sub : Three.t -> Three.t -> bool
  val inter : Three.t -> Three.t -> Three.t option
  val union : Three.t -> Three.t -> Three.t
  val is_disjoint : Three.t -> Three.t -> bool
  val pp : Format.formatter -> Three.t -> unit
end