macros: support multiple choices for deserializing strings
While |
would be preferred, in macros, expr
matches may include |
and therefore may not be followed by |
. The only other options are
,
, ;
, or =>
. The comma is already used for separating variants and
the arrow for the variant/string separation. Semicolon is the only one
left, but it is also used for "or" in Prolog.