MVar = mutable variable
newEmptyMVar :: IO (MVar a)
putMVar :: MVar a -> a -> IO ()
blockiert, solange Variable belegt ist
takeMVar :: MVar a -> IO a
blockiert, solange Variable leer ist