gadt-escape1.hs:19:58: error: • Could not deduce (p ~ ExpGADT Int) from the context: t ~ Int bound by a pattern with constructor: ExpInt :: Int -> ExpGADT Int, in a case alternative at gadt-escape1.hs:19:43-50 Expected: p Actual: ExpGADT t ‘p’ is a rigid type variable bound by the inferred type of weird1 :: p at gadt-escape1.hs:19:1-58 • In the expression: a In a case alternative: Hidden (ExpInt _) a -> a In the expression: case (hval :: Hidden) of Hidden (ExpInt _) a -> a • Relevant bindings include weird1 :: p (bound at gadt-escape1.hs:19:1) Suggested fix: Consider giving ‘weird1’ a type signature