This thing itself seems like a quirk but again I'm not an expert so don't know how this was designed.
> In PowerShell, the results of each statement are returned as output, even without a statement that contains the Return keyword. Languages like C or C# return only the value or values that are specified by the return keyword.
I don't want all output, no, please, I don't want it. I want something specific and not all the junk around it. So you have to turn into ugly measures like out-nulling everything or searching through your output because there is always possibility that some commandlet outputed something you were not expecting and it will return before the value you actually wished to returned.
And classes are nice and all, but lot's of stuff are not compatible PowerShell 5. And there is also the added complexity.
https://docs.microsoft.com/en-us/powershell/module/microsoft...
Reading through the examples of the unexpected behavior in so many cases is flabbergasting.
If cmdlets were easier to use i would probably have used a proper language like csscript or C# instead of Powershell.