ensure next_word and next_word! interface are available (example  says next_word but Abstract WordSource starts with next_word! defined