import Data.Array.Parallel.Arr.BUArr replicateBU_test :: UAE e => Int -> e -> BUArr e replicateBU_test n e = runST (do arr <- newMBU n fill arr n unsafeFreezeMBU arr n ) where fill arr 0 = return () fill arr i = do let i' = i - 1 writeMBU arr i' e fill arr i' main = print $ sumBU (replicateBU_test 5 (10 :: Int))