@@ -564,7 +564,7 @@ checkMP ist i mp = if i > 0
564-- tryPath (-10000) ((e, desc) : path) es 0
564-- tryPath (-10000) ((e, desc) : path) es 0
565 tryPath desc path (e@(f, nextargs) : es) arg
565 tryPath desc path (e@(f, nextargs) : es) arg
566 | Just d <- lookup e path
566 | Just d <- lookup e path
567− = if (desc - d) > 0
567+ = if desc > 0
568 then -- trace ("Descent " ++ show (desc - d) ++ " "
568 then -- trace ("Descent " ++ show (desc - d) ++ " "
569 -- ++ show (path, e)) $
569 -- ++ show (path, e)) $
@@ -585,9 +585,8 @@ checkMP ist i mp = if i > 0
585 Just (nextarg, sc) ->
585 Just (nextarg, sc) ->
586 if nextarg == arg then
586 if nextarg == arg then
587 case sc of
587 case sc of
588− Same -> return $ tryPath desc ((e, desc):path)
588+ Same -> return $ tryPath desc ((e, desc) : path)
591 Smaller -> return $ tryPath (desc+1)
590 Smaller -> return $ tryPath (desc+1)
592 ((e, desc):path)
591 ((e, desc):path)
@@ -607,6 +606,6 @@ collapse xs = collapse' Unchecked xs
607collapse' def (Total r : xs) = Total r
606collapse' def (Total r : xs) = Total r
608collapse' def (Unchecked : xs) = collapse' def xs
607collapse' def (Unchecked : xs) = collapse' def xs
609collapse' def (d : xs) = collapse' d xs
608collapse' def (d : xs) = collapse' d xs
610−collapse' Unchecked [] = Total []
609+-- collapse' Unchecked [] = Total []
611collapse' def [] = def
610collapse' def [] = def