I finally have access to a PC again. I decided to address the points raised here in a small update to the article. (Diff can be viewed on Github) Thanks for the valuable input!
Also, I noticed I missed to answer one question.
Yes, there are many implementations of this concept. I believe this also exactly what
TypeId was meant to be used for, so I claim no innovation for anything in section 1. It is only there to explain the concept to readers who are not familiar with this already.
I called it untapped potential because I think we can apply this more widely. Such as library-based dynamic object+method dispatch, as discussed in section 2. You could build that on top of
typemap but as far as I know, nobody has done it, yet, hence untapped potential.
With section 3, I show the limits of
TypeId and I discuss options how they could be lifted, which would eventually lead to more potential use cases.
I hope that makes sense. Next post, I'll try to keep it shorter, which is always easier to follow.