Bug: [string]::Equals and -eq inconsistency when strings contain "`0"
"`0xyz" -eq 'xyz' # True - NUL character is ignored
"`0" -eq '' # True
If there's other characters in the string it should work as a string. If "0" is by itself then should work like a variant.
-eq use [StringComparison]::InvariantCultureIgnoreCase comparison rather than [StringComparison]::Ordinal, used by [String]::Equals by default.