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