You&#x27;re referring to something like?<p><pre><code>    objA.funcA().funcB().funcC()
</code></pre>
I believe the issue is that it cannot easily be extended with new functionality since all of the methods must be members, whereas operator| can be defined as a free function which allows one to write new chainable functions without altering the base library.<p>I agree that a function chaining syntax would be preferable.  LINQ to Objects in .NET can do something like this because the language(s) support extension methods.