Separate refactors from "op".

Handle converting to string in each individual function rather than
have a catch-all pr-str.