If you give people a tool which they keep hurting themselves with, then a prudent person would take that tool away. There is always a balance to be found, but I believe implementation inheritance has caused more problems than it has solved. Hence there is a real value in removing the tool.
Almost all programming language design is about removing harmful abilities. E.g. when you add a type system, you take away the ability to do many things. But the idea is that the restrictions imposed will give a net gain.
I just don't think implementation inheritance is a feature that pays for itself. We had to learn that the hard way.
I did in fact analyze a lot of the case where we used it to see what was causing the use. It turns out in most cases people used it in ways that could have been mimiced in Go with embedding.
Embedding is IMHO a far more safe, maintainable and still powerful method of software reuse.
We actually also had overly complicated if-statement as well. But often they where easier to deal with as the code is usually one place. Complex inheritance hierarchies can be harder to deal with as the code is spread out all over the place.