It's like someone suddenly noticed they can be called without parenthesis, and when you do so, they look even more like the Where-Object
and ForEach-Object
cmdlets. I don't personally understand the problem with that -- they are, after all, exactly like those cmdlets, except for three things:
- The method is blocking (vs. streaming)
- The where method has some optional additional parameters
- The methods are very fast
Of course, teaching these methods is complicated, because they don't show up in Get-Member, and they're virtually undocumented. In fact, it could be argued that you shouldn't use them or teach them at all. Except, did I mention they're blazingly fast?