sig   type c_int =       UInt8     | SInt8     | UInt16     | SInt16     | UInt32     | SInt32     | UInt64     | SInt64   val c_int_all : Ctypes.c_int list   type c_float = Float32 | Float64   type arrayflat = {     arr_size : int;     arr_dim : int;     arr_cell : Cil_types.typ;     arr_cell_nbr : int;   }   type arrayinfo = {     arr_element : Cil_types.typ;     arr_flat : Ctypes.arrayflat option;   }   type c_object =       C_int of Ctypes.c_int     | C_float of Ctypes.c_float     | C_pointer of Cil_types.typ     | C_comp of Cil_types.compinfo     | C_array of Ctypes.arrayinfo   val object_of_pointed : Ctypes.c_object -> Ctypes.c_object   val object_of_array_elem : Ctypes.c_object -> Ctypes.c_object   val object_of_logic_type : Cil_types.logic_type -> Ctypes.c_object   val object_of_logic_pointed : Cil_types.logic_type -> Ctypes.c_object   val imemo : (Ctypes.c_int -> 'a) -> Ctypes.c_int -> 'a   val fmemo : (Ctypes.c_float -> 'a) -> Ctypes.c_float -> 'a   val iiter : (Ctypes.c_int -> unit) -> unit   val fiter : (Ctypes.c_float -> unit) -> unit   val is_char : Ctypes.c_int -> bool   val c_char : unit -> Ctypes.c_int   val c_bool : unit -> Ctypes.c_int   val c_ptr : unit -> Ctypes.c_int   val c_int : Cil_types.ikind -> Ctypes.c_int   val c_float : Cil_types.fkind -> Ctypes.c_float   val object_of : Cil_types.typ -> Ctypes.c_object   val is_void : Cil_types.typ -> bool   val is_pointer : Ctypes.c_object -> bool   val char : char -> int64   val constant : Cil_types.exp -> int64   val get_int : Cil_types.exp -> int64 option   val i_bits : Ctypes.c_int -> int   val i_bytes : Ctypes.c_int -> int   val signed : Ctypes.c_int -> bool   val c_int_bounds : Ctypes.c_int -> Integer.t * Integer.t   val sub_c_int : Ctypes.c_int -> Ctypes.c_int -> bool   val sub_c_float : Ctypes.c_float -> Ctypes.c_float -> bool   val sizeof_defined : Ctypes.c_object -> bool   val sizeof_object : Ctypes.c_object -> int   val field_offset : Cil_types.fieldinfo -> int   val no_infinite_array : Ctypes.c_object -> bool   val is_comp : Ctypes.c_object -> Cil_types.compinfo -> bool   val is_array : Ctypes.c_object -> elt:Ctypes.c_object -> bool   val get_array : Ctypes.c_object -> (Ctypes.c_object * int option) option   val get_array_size : Ctypes.c_object -> int option   val array_size : Ctypes.arrayinfo -> int option   val array_dim : Ctypes.arrayinfo -> Ctypes.c_object * int   val array_dimensions :     Ctypes.arrayinfo -> Ctypes.c_object * int option list   val dimension_of_object : Ctypes.c_object -> (int * int) option   val i_convert : Ctypes.c_int -> Ctypes.c_int -> Ctypes.c_int   val f_convert : Ctypes.c_float -> Ctypes.c_float -> Ctypes.c_float   val promote : Ctypes.c_object -> Ctypes.c_object -> Ctypes.c_object   val pp_int : Format.formatter -> Ctypes.c_int -> unit   val pp_float : Format.formatter -> Ctypes.c_float -> unit   val pp_object : Format.formatter -> Ctypes.c_object -> unit   val basename : Ctypes.c_object -> string   val compare : Ctypes.c_object -> Ctypes.c_object -> int   val equal : Ctypes.c_object -> Ctypes.c_object -> bool   val merge : Ctypes.c_object -> Ctypes.c_object -> Ctypes.c_object   val hash : Ctypes.c_object -> int   val pretty : Format.formatter -> Ctypes.c_object -> unit   module C_object :     sig       type t = c_object       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   module AinfoComparable :     sig       type t = Ctypes.arrayinfo       val compare :         Ctypes.AinfoComparable.t -> Ctypes.AinfoComparable.t -> int       val equal :         Ctypes.AinfoComparable.t -> Ctypes.AinfoComparable.t -> bool       val hash : Ctypes.AinfoComparable.t -> int     end   val compare_ptr_conflated : Ctypes.c_object -> Ctypes.c_object -> int end