This is specifically an overload which does not accept a predicate but is calling the overload which requires one. Not giving the predicate would simply make the call recursive. It's calling the preceding overload which doesn't have a default predicate (if it did, it would conflict with the overload following this one which is the specialization for `"a == b"` for narrow strings). I actually think that the code was simpler when it was checking the default predicate via string comparison (it had fewer overloads anyway), but you didn't like that.