I&#x27;m guessing the perceived burden of debugging when dealing with function chaining (especially when you consider side effects from inheritance, it can get ugly). This is actually a case where operator overloading could allow for more maintainable code. Usually it&#x27;s sort of a selfish design choice which provides marginal developer happiness and considerable ambiguity and bloat (in my opinion).