The UseCompatibleTypes rule has access to information about how many parameters and what types methods take. Type resolution in PowerShell would be fairly difficult, but checking the *number* of arguments of a method is pretty easy to do. As a stretch, the overload could be determined and checked properly in cases where an argument is statically determinable.