let rec print fmt = function | Const cs -> print_cs true fmt cs | Elem (s, _) -> fprintf fmt "%a" Hstring.print s | Access (a, li) -> fprintf fmt "%a[%a]" Hstring.print a (Hstring.print_list ", ") li | Arith (x, cs) -> fprintf fmt "@[%a%a@]" print x (print_cs false) cs