Share tags2

Supersedes #11351.
I'm only using them internally. I've been considering making them `private` or at least `protected` as for now, there more of an implementation detail really, I think...