Haskell : STM

HaskellのSTMをちろっと見たのだけれど

atomically :: STM a -> IO a

というのを見て、aがリストだったら複数のスレッドでグラフが共有されてしまってよろしくないことが起こりそうな気がしたけれど、どうなんだろう?
atomicallyから出るときは、グラフを末端までコピーする?