lookup in protocol with unknown checking via get/default, to avoid try/except