When debugging a matcher it is convenient to be able to comment out
nested matchers experimentally. This stops working when we have less
than two matchers.
Additionally, the removal of the contraint makes it possible to use
these matchers in generic code.