tcfail165.hs:18:17: error: [GHC-83865] • Couldn't match type: forall a. Show a => a -> String with: b0 -> String Expected: IO (MVar (b0 -> String)) Actual: IO (MVar (forall a. Show a => a -> String)) • In a stmt of a 'do' block: var <- newEmptyMVar :: IO (MVar (forall a. Show a => a -> String)) In the expression: do var <- newEmptyMVar :: IO (MVar (forall a. Show a => a -> String)) putMVar var (show :: forall b. Show b => b -> String) In an equation for ‘foo’: foo = do var <- newEmptyMVar :: IO (MVar (forall a. Show a => a -> String)) putMVar var (show :: forall b. Show b => b -> String)