@@ -611,10 +611,10 @@ simple_app fun arg appstr =
611611 hs <- get_holes
612612 env <- get_env
613613 -- We don't need a and b in the hole queue any more since they were
614− -- just for checking f, so discard them if they are still there.
615− -- If they haven't been solved, regret will fail
616− when (a `elem` hs) $ do focus a; regretWith (CantInferType appstr)
617− when (b `elem` hs) $ do focus b; regretWith (CantInferType appstr)
614+ -- just for checking f, so move them to the end. If they never end up
615+ -- getting solved, we'll get an 'Incomplete term' error.
616+ when (a `elem` hs) $ do movelast a
617+ when (b `elem` hs) $ do movelast b
618618 end_unify
619619 where regretWith err = try regret
620620 (lift $ tfail err)