- ; ([pat'], cmd', ex_binds) <- incProcLevel $
- tcMatchPats [(pat, Check arg_ty)] (Check res_ty) $
- tcCmdTop cmd_env cmd ([], res_ty)
-
- ; return (pat', glueBindsOnCmd ex_binds cmd') }
+ ; ([pat'], cmd') <- incProcLevel $
+ tcMatchPats [pat] [Check arg_ty] (Check res_ty) $
+ tcCmdTop cmd_env cmd ([], res_ty)
+ -- The False says don't do GADT type refinement
+ -- This is a conservative choice, but I'm not sure of the consequences
+ -- of type refinement in the arrow world!
+
+ ; return (pat', cmd') }