defines the TagList as well as its iterator.
It also provides an owned version for mostly for testing purposes.
TagList