WIP, experimental refactor of extract* methods

more changes to `tokenize` and `TOKEN_SPECS` are to be implemented,
to make post-tokenisation processing simpler