I want to have completion for a command that looks like "command [optional] required" (i.e. possible completions are either "command required" or "command optional required"). My understanding is that "_arguments '::message:(optional)' ':message:(required)'" should achieve this effect. However when I'm trying to use it on zsh 5.6.2, in addition to the expected commandlines, it also allows to complete "command required required" where the required argument is repeated twice (but not more). Is this a bug or am I missing something? Is there another way to get what I want?