make the token iterators capable of either using tokens() or tokens_with_position()