@@ -45,10 +45,9 @@ proof (ES (p, _) _ _) = p
4545proofFail :: Elab' aux a -> Elab' aux a
4646proofFail e = do s <- get
4747 case runStateT e s of
48− OK (a, s') -> trace ("OK ACTUALLY") $
49− do put s'
50− return a
51− Error err -> trace "BAD" $ lift $ Error (ProofSearchFail err)
48+ OK (a, s') -> do put s'
49+ return a
50+ Error err -> lift $ Error (ProofSearchFail err)
5251
5352saveState :: Elab' aux ()
5453saveState = do e@(ES p s _) <- get
@@ -65,6 +64,8 @@ erun f elab = do s <- get
6564 case runStateT elab s of
6665 OK (a, s') -> do put s'
6766 return a
67+ Error (ProofSearchFail (At f e))
68+ -> lift $ Error (ProofSearchFail (At f e))
6869 Error (At f e) -> lift $ Error (At f e)
6970 Error e -> lift $ Error (At f e)
7071
@@ -528,7 +529,7 @@ try' t1 t2 proofSearch
528529 where recoverableErr err@(CantUnify r _ _ _ _ _)
529530 = -- traceWhen r (show err) $
530531 r || proofSearch
531− recoverableErr (ProofSearchFail _) = trace "FAILED" $ False
532+ recoverableErr (ProofSearchFail _) = False
532533 recoverableErr _ = True
533534
534535tryWhen :: Bool -> Elab' aux a -> Elab' aux a -> Elab' aux a