Clean up what we store for each match

How about add both, call both "optional", and add a required annotation about how it's an error to provide both.