Closes #3236 (closed)
Also modernized it a bit, since it had a few bespoke ways of doing things that toSentence() replaces.
toSentence()