sig   module Loop_Max_Iteration :     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 = int       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 analyze : Kernel_function.t -> unit   val get_bounds : Cil_types.stmt -> int option   val fold_bounds : (Cil_types.stmt -> int -> '-> 'a) -> '-> 'a end