The example uses strings::next_token(tok), which does not work, because next_token uses a pointer to the tokeniser, not the tokeniser itself.
strings::next_token(tok)
next_token
Wasn't this fixed by 08b027326d8bcf627b315d73c6ecc7810305773d?
08b027326d8bcf627b315d73c6ecc7810305773d