rule based translator uses protocol dispatch for matching
extractor dispatch via protocol too
extracting and matching is now the same protocol match