grammar extensions: alts, seq, optional, multi-tag, capturing, collecting