Various changes to avoid returning tuples - working on the C tokenizer made me realize this was a bad idea for compatability/similarity between the two.