@@ -311,16 +311,16 @@ toSrcType variable =
312variableToSrcType :: Variable -> StateT NameState IO Can.Type
312variableToSrcType :: Variable -> StateT NameState IO Can.Type
313variableToSrcType variable =
313variableToSrcType variable =
314− do descriptor <- liftIO $ UF.descriptor variable
314+ do descriptor <- liftIO $ UF.get variable
315 let mark = _mark descriptor
315 let mark = _mark descriptor
316 if mark == occursMark
316 if mark == occursMark
318 return (Can.TVar "∞")
318 return (Can.TVar "∞")
321− do liftIO $ UF.modifyDescriptor variable (\desc -> desc { _mark = occursMark })
321+ do liftIO $ UF.modify variable (\desc -> desc { _mark = occursMark })
322 srcType <- contentToSrcType variable (_content descriptor)
322 srcType <- contentToSrcType variable (_content descriptor)
323− liftIO $ UF.modifyDescriptor variable (\desc -> desc { _mark = mark })
323+ liftIO $ UF.modify variable (\desc -> desc { _mark = mark })
324 return srcType
324 return srcType
@@ -337,7 +337,7 @@ contentToSrcType variable content =
338 Nothing ->
338 Nothing ->
339 do name <- getFreshVarName
339 do name <- getFreshVarName
340− liftIO $ UF.modifyDescriptor variable (\desc -> desc { _content = FlexVar (Just name) })
340+ liftIO $ UF.modify variable (\desc -> desc { _content = FlexVar (Just name) })
341 return (Can.TVar name)
341 return (Can.TVar name)
343 FlexSuper super maybeName ->
343 FlexSuper super maybeName ->
@@ -347,7 +347,7 @@ contentToSrcType variable content =
348 Nothing ->
348 Nothing ->
349 do name <- getFreshSuperName super
349 do name <- getFreshSuperName super
350− liftIO $ UF.modifyDescriptor variable (\desc -> desc { _content = FlexSuper super (Just name) })
350+ liftIO $ UF.modify variable (\desc -> desc { _content = FlexSuper super (Just name) })
351 return (Can.TVar name)
351 return (Can.TVar name)
353 RigidVar name ->
353 RigidVar name ->
@@ -503,11 +503,11 @@ getFreshSuperHelp name index taken =
504getVarNames :: Variable -> TakenNames -> IO TakenNames
504getVarNames :: Variable -> TakenNames -> IO TakenNames
505getVarNames var takenNames =
505getVarNames var takenNames =
506− do (Descriptor content rank mark copy) <- UF.descriptor var
506+ do (Descriptor content rank mark copy) <- UF.get var
507 if mark == getVarNamesMark
507 if mark == getVarNamesMark
508 then return takenNames
508 then return takenNames
510− do UF.setDescriptor var (Descriptor content rank getVarNamesMark copy)
510+ do UF.set var (Descriptor content rank getVarNamesMark copy)
511 case content of
511 case content of
512 Error _ ->
512 Error _ ->
513 return takenNames
513 return takenNames
@@ -580,7 +580,7 @@ addName index givenName var makeContent takenNames =
580 case Map.lookup indexedName takenNames of
580 case Map.lookup indexedName takenNames of
581 Nothing ->
581 Nothing ->
582 do if indexedName == givenName then return () else
582 do if indexedName == givenName then return () else
583− UF.modifyDescriptor var $ \(Descriptor _ rank mark copy) ->
583+ UF.modify var $ \(Descriptor _ rank mark copy) ->
584 Descriptor (makeContent indexedName) rank mark copy
584 Descriptor (makeContent indexedName) rank mark copy
585 return $ Map.insert indexedName var takenNames
585 return $ Map.insert indexedName var takenNames