>>719
[a,b,c,d] <- replicateM 4 (newIORef [])

-- Control.Monadのソースから
replicateM n x = sequence (replicate n x)
sequence ms = foldr k (return []) ms
where k m m' = do { x <- m; xs <- m'; return (x:xs) }