functor (D : Domain->
  sig
    type state = D.t
    type result
    val fixpoint : ?wto:wto -> Cil_types.kernel_function -> state -> result
    module Result :
      sig
        val at_entry : result -> state option
        val at_return : result -> state option
        val before : result -> Cil_types.stmt -> state option
        val after : result -> Cil_types.stmt -> state option
        val iter_vertex : (vertex -> state -> unit) -> result -> unit
        val iter_stmt : (Cil_types.stmt -> state -> unit) -> result -> unit
        val to_dot_output :
          (Format.formatter -> state -> unit) ->
          result -> out_channel -> unit
        val to_dot_file :
          (Format.formatter -> state -> unit) ->
          result -> Filepath.Normalized.t -> unit
        val as_table : result -> state Vertex.Hashtbl.t
      end
  end