makeIO :: Config -> AnimId -> IO (Widget IO -> IO (Widget IO))
makeIO config animId =
    do
        flyNavState <- newIORef initState
        return $ \widget ->
            do
                fnState <- readIORef flyNavState
                return $
                    make config animId fnState (writeIORef flyNavState) widget
makeIO :: Config -> AnimId -> IO (Widget IO -> IO (Widget IO))
makeIO config animId =
    do
        flyNavState <- newIORef initState
        return $ \widget ->
            do
                fnState <- readIORef flyNavState
                return $
                    make config animId fnState (writeIORef flyNavState) widget
makeIO config animId =
    do
        flyNavState <- newIORef initState
        return $ \widget ->
            do
                fnState <- readIORef flyNavState
                return $
                    make config animId fnState (writeIORef flyNavState) widget