sig
  type t = Start | NotSeen | Modif | SameVal
  val pretty : Format.formatter -> Datascope.State.t -> unit
  val bottom : Datascope.State.t
  val merge : Datascope.State.t -> Datascope.State.t -> Datascope.State.t
  val join : Datascope.State.t -> Datascope.State.t -> Datascope.State.t
  val equal : Datascope.State.t -> Datascope.State.t -> bool
  val test_and_merge :
    old:Datascope.State.t -> Datascope.State.t -> Datascope.State.t option
  val join_and_is_included :
    Datascope.State.t -> Datascope.State.t -> Datascope.State.t * bool
  val is_included : Datascope.State.t -> Datascope.State.t -> bool
  val transfer : bool -> Datascope.State.t -> Datascope.State.t
end