handle existentially quantified datatypes