General point: this `write!(f.buf, "{}", x)` pattern is pretty common, and ignores any formatting flags in `f`. Would it be worth having `f.show(&x)` that essentially does that macro, but paying attention to padding etc?

(Not necessary for this PR.)