This change is necessary to prevent the boolean `true` matching 0, etc.  This does, however, mean that queries that previously expected `''` to match `0` will break, but arguably that shouldn't have matched in the first place...

The alternative is to check whether the expected value is a boolean, and only doing the stricter `===` check if so.