sig
  exception NotACType
  type ('value, 'shape) typ
  val of_ltyp : Cil_types.logic_type -> (unit, unit) Cil_builder.Type.typ
  val integer : (unit, unit) Cil_builder.Type.typ
  val real : (unit, unit) Cil_builder.Type.typ
  val of_ctyp : Cil_types.typ -> ('v, 'v) Cil_builder.Type.typ
  val void : ('v, 'v) Cil_builder.Type.typ
  val bool : ('v, 'v) Cil_builder.Type.typ
  val char : ('v, 'v) Cil_builder.Type.typ
  val schar : ('v, 'v) Cil_builder.Type.typ
  val uchar : ('v, 'v) Cil_builder.Type.typ
  val int : ('v, 'v) Cil_builder.Type.typ
  val unit : ('v, 'v) Cil_builder.Type.typ
  val short : ('v, 'v) Cil_builder.Type.typ
  val ushort : ('v, 'v) Cil_builder.Type.typ
  val long : ('v, 'v) Cil_builder.Type.typ
  val ulong : ('v, 'v) Cil_builder.Type.typ
  val longlong : ('v, 'v) Cil_builder.Type.typ
  val ulonglong : ('v, 'v) Cil_builder.Type.typ
  val float : ('v, 'v) Cil_builder.Type.typ
  val double : ('v, 'v) Cil_builder.Type.typ
  val longdouble : ('v, 'v) Cil_builder.Type.typ
  val ptr : ('v, 's) Cil_builder.Type.typ -> ('v, 'v) Cil_builder.Type.typ
  val array :
    ?size:int ->
    ('v, 's) Cil_builder.Type.typ -> ('v, 's list) Cil_builder.Type.typ
  val attribute :
    ('v, 's) Cil_builder.Type.typ ->
    string -> Cil_types.attrparam list -> ('v, 's) Cil_builder.Type.typ
  val const : ('v, 's) Cil_builder.Type.typ -> ('v, 's) Cil_builder.Type.typ
  val stdlib_generated :
    ('v, 's) Cil_builder.Type.typ -> ('v, 's) Cil_builder.Type.typ
  val cil_typ : ('v, 's) Cil_builder.Type.typ -> Cil_types.typ
  val cil_logic_type : ('v, 's) Cil_builder.Type.typ -> Cil_types.logic_type
end