Wadler-style pretty-printing combinators in Rust