@@ -617,12 +617,12 @@ prune proj (Case n alts)
617 notErased (DefaultCase ImpossibleCase) = False
617 notErased (DefaultCase ImpossibleCase) = False
618 notErased _ = True
618 notErased _ = True
620+ mkForce n arg (Case x [alt])
621+ | x == arg = ProjCase (forceArg n) (mkForceAlt n arg alt)
620 mkForce n arg (Case x alts)
622 mkForce n arg (Case x alts)
621− | x == arg = ProjCase (forceArg n)
622− (map (mkForceAlt n arg) alts)
623− | otherwise = Case x (map (mkForceAlt n arg) alts)
623+ = Case x (map (mkForceAlt n arg) alts)
624− mkForce n arg (ProjCase t alts)
624+ mkForce n arg (ProjCase t alt)
625− = ProjCase (forceTm n arg t) (map (mkForceAlt n arg) alts)
625+ = ProjCase (forceTm n arg t) (mkForceAlt n arg alt)
626 mkForce n arg (STerm t) = STerm (forceTm n arg t)
626 mkForce n arg (STerm t) = STerm (forceTm n arg t)
627 mkForce n arg c = c
627 mkForce n arg c = c