let cset_item printer ppf item =
    if !first then begin
      first := false;
      fprintf ppf "@ @[<v>with %a" printer item
    end
    else fprintf ppf "@ and  %a" printer item