I'm still not convinced by the usefullness of exposing `rawTabNS`.
Here we can do: `if (tabNS(this).tab !== rawTab)`
And make rawTabNS a private namespace [1] just for tabs/helper:getTabForRawTab,
then, instead of using rawTabNS(rawTab).tab [2],
we would do tabs/helper.getTabForRawTab(rawTab).

[1] we may even just use a simple Weakmap.
[2] but we only do it here and in getTabForRawTab