(* emit_csv.mli *)
(** One row per day, RFC 4180. Consumes the VIEW, not the kernel, so every
emitter describes exactly the same fields as every template. *)
(** RFC 4180 section 2: quote a field containing a comma, a quote or a newline;
double an embedded quote. Exposed for testing. *)
val escape_field : string -> string
val year : Template.value -> string