sig   module Stmt_set_ref :     functor (Info : State_builder.Info->       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 : Datatype.S         val add_hook_on_update : (Datatype.t -> unit) -> unit         val howto_marshal : (Datatype.t -> 'a) -> ('-> Datatype.t) -> unit         type data         val set : data -> unit         val get : unit -> data         val clear : unit -> unit         type elt = Cil_types.stmt         val add : elt -> unit         val remove : elt -> unit         val is_empty : unit -> bool         val mem : elt -> bool         val fold : (elt -> '-> 'a) -> '-> 'a         val iter : (elt -> unit) -> unit       end   module Kinstr_hashtbl :     functor (Data : Datatype.S) (Info : State_builder.Info_with_size->       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 : Datatype.S         val add_hook_on_update : (Datatype.t -> unit) -> unit         val howto_marshal : (Datatype.t -> 'a) -> ('-> Datatype.t) -> unit         type key = Cil_types.kinstr         type data = Data.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   module Stmt_hashtbl :     functor (Data : Datatype.S) (Info : State_builder.Info_with_size->       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 : Datatype.S         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 = Data.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   module Varinfo_hashtbl :     functor (Data : Datatype.S) (Info : State_builder.Info_with_size->       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 : Datatype.S         val add_hook_on_update : (Datatype.t -> unit) -> unit         val howto_marshal : (Datatype.t -> 'a) -> ('-> Datatype.t) -> unit         type key = Cil_types.varinfo         type data = Data.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   module Exp_hashtbl :     functor (Data : Datatype.S) (Info : State_builder.Info_with_size->       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 : Datatype.S         val add_hook_on_update : (Datatype.t -> unit) -> unit         val howto_marshal : (Datatype.t -> 'a) -> ('-> Datatype.t) -> unit         type key = Cil_types.exp         type data = Data.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   module Kernel_function_hashtbl :     functor (Data : Datatype.S) (Info : State_builder.Info_with_size->       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 : Datatype.S         val add_hook_on_update : (Datatype.t -> unit) -> unit         val howto_marshal : (Datatype.t -> 'a) -> ('-> Datatype.t) -> unit         type key = Cil_types.kernel_function         type data = Data.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 end