Apakah IO monad secara teknis salah?

Di wiki haskell ada contoh berikut penggunaan bersyarat dari IO monad (lihat di sini) . when :: Bool -> IO () -> IO () when condition action world = if condition then action world else ((), world) Perhatikan bahwa dalam contoh ini, definisi IO adiambil RealWorld -> (a,...