@@ -41,6 +41,7 @@ import Control.Applicative hiding (Const)
4141import Control.DeepSeq
4242import Control.Monad
4343import Control.Monad.State.Strict as State
44+import qualified Control.Monad.State.Lazy as LState
4445import Data.List
4546import Data.Maybe
4647import Debug.Trace
@@ -695,8 +696,12 @@ elabClause info opts (cnum, PClause fc fname lhs_in_as withs rhs_in_as wherebloc
695696 then recheckC_borrowing True borrowed fc [] rhs'
696697 else return (rhs', clhsty)
697698 logLvl 6 $ " ==> " ++ show crhsty ++ " against " ++ show clhsty
698− case converts ctxt [] clhsty crhsty of
699− OK _ -> return ()
699+ ctxt <- getContext
700+ let constv = next_tvar ctxt
701+ case LState.runStateT (convertsC ctxt [] crhsty clhsty) (constv, []) of
702+ OK (_, cs) -> do addConstraints fc cs
703+ logLvl 6 $ "CONSTRAINTS ADDED: " ++ show (constv,cs)
704+ return ()
700705 Error e -> ierror (At fc (CantUnify False clhsty crhsty e [] 0))
701706 i <- getIState
702707 checkInferred fc (delab' i crhs True True) rhs