sig   type key = private       SigKey of PdgIndex.Signature.key     | VarDecl of Cil_types.varinfo     | Stmt of Cil_types.stmt     | CallStmt of Cil_types.stmt     | Label of Cil_types.stmt * Cil_types.label     | SigCallKey of Cil_types.stmt * PdgIndex.Signature.key   type t = key   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   val param_key : int -> t   val implicit_in_key : Locations.Zone.t -> t   val entry_point : t   val top_input : t   val output_key : t   val out_from_key : Locations.Zone.t -> t   val decl_var_key : Cil_types.varinfo -> t   val label_key : Cil_types.stmt -> Cil_types.label -> t   val stmt_key : Cil_types.stmt -> t   val call_key : Cil_types.stmt -> t   val call_input_key : Cil_types.stmt -> int -> t   val call_output_key : Cil_types.stmt -> Locations.Zone.t -> t   val call_outret_key : Cil_types.stmt -> t   val call_ctrl_key : Cil_types.stmt -> t   val call_topin_key : Cil_types.stmt -> t   val stmt : t -> Cil_types.stmt option   val call_from_id : Cil_types.stmt -> Cil_types.stmt end