Address #6, by detecting universal patterns.

This implements a check for universal patterns and does not
continue to desugar matches after a universal pattern. This
does *not* eradicate #6, but it makes it less of a problem
in practice (in singletons).