getUserPutUser :: IO (GetUser, PutUser)
getUserPutUser = do
    mv <- newEmptyMVar;
    putMVar mv Map.empty
    return (getUser mv, putUser mv)
getUserPutUser :: IO (GetUser, PutUser)
getUserPutUser = do
    mv <- newEmptyMVar;
    putMVar mv Map.empty
    return (getUser mv, putUser mv)
getUserPutUser = do
    mv <- newEmptyMVar;
    putMVar mv Map.empty
    return (getUser mv, putUser mv)