Improved multiple `default()` guards conflict detection.

The conflict detection is less restrictive now (see #1800), no error thrown until conflicting conditions are actually about to be expanded.