sig
  type t
  val fprint : Format.formatter -> Relational.Domain.t -> unit
  val order : Relational.Domain.t -> Relational.Domain.t -> bool
  val top : Name.Set.t -> Relational.Domain.t
  val bottom : Name.Set.t -> Relational.Domain.t
  val join :
    Relational.Domain.t -> Relational.Domain.t -> Relational.Domain.t
  val meet :
    Relational.Domain.t -> Relational.Domain.t -> Relational.Domain.t
  val widening :
    Relational.Domain.t -> Relational.Domain.t -> Relational.Domain.t
  val assignment :
    Name.t -> Ast.expr -> Relational.Domain.t -> Relational.Domain.t
  val guard : Ast.expr -> Relational.Domain.t -> Relational.Domain.t
end