method record_binding =
                  fun f bi ->
                    let () = o#node f bi Ast.loc_of_rec_binding
                    in
                      match bi with
                      | Ast.RbNil _ -> ()
                      | Ast.RbEq (_, i, e) ->
                          pp f "@ @[<2>%a =@ %a@];" o#var_ident i o#expr e
                      | Ast.RbSem (_, b1, b2) ->
                          (o#under_semi#record_binding f b1;
                           o#under_semi#record_binding f b2)
                      | Ast.RbAnt (_, s) -> o#anti f s