PowerShell is strongly typed, parameter parsing is done by the shell - not the command itself. Powershell wildcard ("glob") expansion is performed by the command.
This alleviates the problems described in the article.
cat * > ../collection # works is PS
cat $file # works even if $file contains unusual characters. If $file is an *array* it "cats" multiple paths. If wildcards are not expected cat -lit $file should be used (literal path).
This alleviates the problems described in the article.