Well / or ^ would work too if you believe that the conflict is likely. Though / is used in opening hours, but as the conditional restriction grammar doesn’t contain an element indicating that the condition is an OH expression you need to parse them and check if they are valid in any case to be sure.
The advantage of using just 2 keys to model the restrictions contrary to keyflation, is that you can retrieve all relevant information in just two values and parse at leisure.
Assume for example you want to retrieve the relevant data for a truck, with the overtakng:v1:overtaken:v2 scheme, then you need to retrieve/inspect at least
overtaking:hgv:overtaken:v2
overtaking:motorcar:overtaken:v2
for v2 being one of hgv, motorcar and single_track so a total of six keys just to cover some of the combinations mentioned in this thread. And maybe another three keys for overtaking:overtaken:v2 …