sig
  val name : string
  val debug : bool Pervasives.ref
  type t = Compute.DomSet.t
  module StmtStartData :
    sig
      val self : State.t
      val name : string
      val mark_as_computed : ?project:Project.t -> unit -> unit
      val is_computed : ?project:Project.t -> unit -> bool
      module Datatype :
        sig
          type t = Dom.Datatype.t
          val ty : t Type.t
          val name : string
          val descr : t Descr.t
          val packed_descr : Structural_descr.pack
          val reprs : t list
          val equal : t -> t -> bool
          val compare : t -> t -> int
          val hash : t -> int
          val pretty_code : Format.formatter -> t -> unit
          val internal_pretty_code :
            Type.precedence -> Format.formatter -> t -> unit
          val pretty : Format.formatter -> t -> unit
          val varname : t -> string
          val mem_project : (Project_skeleton.t -> bool) -> t -> bool
          val copy : t -> t
        end
      val add_hook_on_update : (Datatype.t -> unit) -> unit
      val howto_marshal : (Datatype.t -> 'a) -> ('-> Datatype.t) -> unit
      type key = Cil_types.stmt
      type data = DomSet.t
      val replace : key -> data -> unit
      val add : key -> data -> unit
      val clear : unit -> unit
      val length : unit -> int
      val iter : (key -> data -> unit) -> unit
      val iter_sorted :
        ?cmp:(key -> key -> int) -> (key -> data -> unit) -> unit
      val fold : (key -> data -> '-> 'a) -> '-> 'a
      val fold_sorted :
        ?cmp:(key -> key -> int) -> (key -> data -> '-> 'a) -> '-> 'a
      val memo : ?change:(data -> data) -> (key -> data) -> key -> data
      val find : key -> data
      val find_all : key -> data list
      val mem : key -> bool
      val remove : key -> unit
    end
  val pretty : Format.formatter -> Compute.DomSet.t -> unit
  val copy : Compute.DomComputer.t -> Compute.DomComputer.t
  val computeFirstPredecessor : '-> '-> 'c
  val combinePredecessors :
    Cil_datatype.Stmt.Hptset.elt ->
    old:Compute.DomSet.t ->
    Compute.DomSet.domset -> Compute.DomSet.domset option
  val doStmt : '-> '-> 'Dataflow.stmtaction
  val doInstr :
    Cil_datatype.Stmt.Hptset.elt ->
    '-> Compute.DomSet.domset -> Compute.DomSet.domset Dataflow.action
  val stmt_can_reach : '-> '-> bool
  val filterStmt : '-> bool
  val doGuard :
    '-> '-> '-> 'Dataflow.guardaction * 'Dataflow.guardaction
  val doEdge : '-> '-> '-> 'c
end