Align the ambiguous selection error messages with no matching case This commit polishes improved error messages in variant selection by making the "ambiguous" case closer to what we have for the "no matching" case.
Introduce styled exceptions This commit introduces the concept of _styled exceptions_, which basically allow putting some emphasis on user facing error messages. Before this change, exception messages were just plain text. It's now possible to have exceptions which provide a rich styled output when an ANSI console is available.
The attribute matching code has been adapted to make use of those new exception types.