@@ -159,7 +159,7 @@ directUse fn@(App f a)
159 | (P Ref (UN pfk) _, [App e w]) <- unApply fn,
159 | (P Ref (UN pfk) _, [App e w]) <- unApply fn,
160 pfk == txt "prim_fork"
160 pfk == txt "prim_fork"
161 = directUse e ++ directUse w -- HACK so that fork works
161 = directUse e ++ directUse w -- HACK so that fork works
162− | (P Ref (UN fce) _, [_, a]) <- unApply fn,
162+ | (P Ref (UN fce) _, [_, _, a]) <- unApply fn,
163 fce == txt "Force"
163 fce == txt "Force"
164 = directUse a -- forcing a value counts as a use
164 = directUse a -- forcing a value counts as a use
165 | (P Ref n _, args) <- unApply fn = [] -- need to know what n does with them
165 | (P Ref n _, args) <- unApply fn = [] -- need to know what n does with them
@@ -626,7 +626,7 @@ prune proj (Case n alts)
627 forceTm n arg t = subst arg (forceArg n) t
627 forceTm n arg t = subst arg (forceArg n) t
629− forceArg n = App (App (P Ref (sUN "Force") Erased) Erased)
629+ forceArg n = App (App (App (P Ref (sUN "Force") Erased) Erased) Erased)
630 (P Bound n Erased)
630 (P Bound n Erased)
632 mkProj n i [] sc = prune proj sc
632 mkProj n i [] sc = prune proj sc