For example, the default syntax file for lisp:
Currently synIDtrans()ed values are used to match "syntax" of rules. This
means that only Constant is a valid value for "syntax".
But Constant implies String, Number and other constants. If user wants to define rules only for String, such rules will never be used with the current behavior.
There are 4 options for the problem:
Let's reconsider which is the best way to deal with "syntax" matching.
Consider also actual usage and other possibility.