Not that it detracts from your point, but PowerShell defined Linux-like aliases for PowerShell commands, not the old CMD.exe binaries.
So ls would actually match the behavior and accept the flags for Get-ChildItem, not dir.