I want to respond to one point specifically: `Private ecosystem — if all your code is in X, you have potentially tons of reusable modules as part of your own stack.`<p>Never ever in my OOP days have I been able to reuse a non-trivial function from a different codebase &quot;just like that&quot;. This is because all my functions were impure - something encouraged by most mainstream languages. So I had to first rip out the context the function was living in and make it work again before being able to use it somewhere else. I wouldn&#x27;t fix it in the original place though, so next time I&#x27;d want to reuse I&#x27;d have to repeat every step again.<p>Since I started using a pure language, reusing code actually became possible. I can rip out a function and place it in a new codebase without changing it a bit and it&#x27;s gonna work just like that, no problem.<p>Getting back to the topic at hand, I would define the Blub paradox as &quot;being unable to logically explain the benefits of something solving a problem you haven&#x27;t realized is actually a problem yet&quot;. This may sound like trying to create problems out of nothing just so that they can be solved by &quot;cool feature X&quot;, but I&#x27;d guess in most situations this isn&#x27;t the case.<p>I truly believed that I was creating reusable OOP components until I realized that actually I wasn&#x27;t. I truly believed a normal editor is more than sufficient for my needs until I learned vim. I truly believed svn was the best thing ever until I learned git. Etc...