A matcher is a pattern with an associated parse procedure that generates a result.