Tag index

Just starting on this, not for merging yet, but feedback welcome.
Perhaps I am missing something, but I don't see any attention being paid to `err`.