Address feedback from PR #241 (#244)
I added a function called `Token.with_source` to simplify the
repeated logic in the source extent tests, but if it's unnecessary I can
easily revert those commits.
Edit: Linking the PR for easy, future reference: #241.