sig
  type t
  val lub : Solve.Domain.t -> Solve.Domain.t -> Solve.Domain.t
  val eq : Solve.Domain.t -> Solve.Domain.t -> bool
  val bot : Solve.Domain.t
end