Thanks for the comment — you make a good point. I think reusing code will always suffer from the problem that code downstream will likely break if you change the contract, regardless of whether you use a functional approach or OOP. However, functional composition (which is what a HOC is) is quite different from using classic inheritance chains; this…