types: wrap domain in existential