Revert "Revert "word-at-a-time: make the interfaces truly generic""

This reverts commit 2fe2fda31c1dd3491de54d0d506217237ef09d50.