Allow syntax extensions to return multiple items, closes #16723.

This patch replaces `MacItem` with `MacItems`.