Drive-by comment - the grammar as specified (`[ auto | reverse ] && <<angle>>`) is incorrect per the examples - it requires a keyword. I'd correct it, but I'm not 100% certain what you were shooting for.
`[ auto | reverse ] || <<angle>>` is probably what you want - one or both, in any order. On the other hand, people seem to often use && thinking it means "at least one of these, in order". If that's the case, you instead need `[ [ auto | reverse ]? <<angle>>? ]!`. (You probably don't want this, it's awkward to write on purpose.) ~TJ
