Fix Trac #2206: ensure the return type is rigid in a GADT match