The constructs -ne, -eq, and -gt looks at least strange.
-ne
-eq
-gt
if ($true -eq $true){}
but not
if ($true = $true){}
What is the explanation?