Use SubstanceErrors.
Generalize selection helper.
Initial iteration on implementing generalized annotation support.