stemming!

closes #5 

Sorry about the craziness!
My original comment carefully avoided allocating a new `String` if either of the first two cases were triggered.