Refactor ToStatement trait and provided conversions, with specs and doc