crunch eqs 
  = do ss <- solvers  <$> get
       case crunchSolvers ss eqs of
         (_  , Contra c) -> return (Just c) 
         (ss', Eqs xs  ) -> updSolvers ss' >> updEqualities xs >>= crunch 
crunch eqs 
  = do ss <- solvers  <$> get
       case crunchSolvers ss eqs of
         (_  , Contra c) -> return (Just c) 
         (ss', Eqs xs  ) -> updSolvers ss' >> updEqualities xs >>= crunch 
crunch eqs 
  = do ss <- solvers  <$> get
       case crunchSolvers ss eqs of
         (_  , Contra c) -> return (Just c) 
         (ss', Eqs xs  ) -> updSolvers ss' >> updEqualities xs >>= crunch 