let rec print_seq_elt fmt elt =
  Format.fprintf fmt "(%a%a){@[%a,%a@]}"
    (Pretty_utils.pp_opt print_parsed_condition) elt.condition
    print_sequence elt.nested
    (Pretty_utils.pp_opt print_parsed_expression) elt.min_rep
    (Pretty_utils.pp_opt print_parsed_expression) elt.max_rep

and print_sequence fmt l =
    Pretty_utils.pp_list ~pre:"[@[" ~sep:";@ " ~suf:"@]]" print_seq_elt fmt l