Add some more tests to parser

An iterator would suffice:

    pairs = ( ... )

A suggestion: Use `list`s only where a mutable container is required. If the container is intended to be immutable, use `tuple`s. If the container is not meant to be reused, avoid the container's construction altogether and just return an iterator.

https://en.wikipedia.org/wiki/Deforestation_(computer_science)