sig
  type 'a clist =
      CList of 'a list
    | CConsL of 'a * 'Flx_cil_clist.clist
    | CConsR of 'Flx_cil_clist.clist * 'a
    | CSeq of 'Flx_cil_clist.clist * 'Flx_cil_clist.clist
  val toList : 'Flx_cil_clist.clist -> 'a list
  val fromList : 'a list -> 'Flx_cil_clist.clist
  val single : '-> 'Flx_cil_clist.clist
  val empty : 'Flx_cil_clist.clist
  val append :
    'Flx_cil_clist.clist ->
    'Flx_cil_clist.clist -> 'Flx_cil_clist.clist
  val checkBeforeAppend :
    'Flx_cil_clist.clist -> 'Flx_cil_clist.clist -> bool
  val length : 'Flx_cil_clist.clist -> int
  val map : ('-> 'b) -> 'Flx_cil_clist.clist -> 'Flx_cil_clist.clist
  val fold_left : ('-> '-> 'a) -> '-> 'Flx_cil_clist.clist -> 'a
  val iter : ('-> unit) -> 'Flx_cil_clist.clist -> unit
  val rev : 'Flx_cil_clist.clist -> 'Flx_cil_clist.clist
  val docCList :
    Flx_cil_pretty.doc ->
    ('-> Flx_cil_pretty.doc) ->
    unit -> 'Flx_cil_clist.clist -> Flx_cil_pretty.doc
end