Possible future improvement: maybe this could take a `&mut Writer`; possibly with a helper function that passes `&mut std::io::stderr()` (or `stdout`)?

(This would allow it to be "logged" rather than just dumped to console.)