> Warning: This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
If we can get a boolean or something else, shouldn't we use == (2), since we want to evaluate the value rather than the type?