+let print ppf f =
+ let s1 = string_of print_lhs f in
+ let s2 = string_of print_arrow f in
+ let s3 = string_of print_rhs f in
+ fprintf ppf "%s %s %s%!" s1 s2 s3
+(*
+ fprintf ppf "%!%a%a%a%!" print_lhs f print_arrow f print_rhs f
+*)
+let format_list =
+ let b = Buffer.create 10 in
+ fun l ->