ignore compile output
putMVar blocks on an empty MVar; need to takeMVar first