@@ -158,12 +158,12 @@ spliceArraysLenUnsafe :: (MonadIO m, Storable a)
158158 => Int -> SerialT m (Array a) -> m (Array a)
159159spliceArraysLenUnsafe len buffered = do
160160 arr <- liftIO $ A.newArray len
161− end <- S.foldlM' writeArr (aEnd arr) buffered
161+ end <- S.foldlM' writeArr (return $ aEnd arr) buffered
162162 return $ arr {aEnd = end}
163163
164164 where
165165
166− writeArr dst Array{..} =
166+ writeArr dst Array{..} = do
167167 liftIO $ withForeignPtr aStart $ \src -> do
168168 let count = aEnd `minusPtr` src
169169 A.memcpy (castPtr dst) (castPtr src) count
@@ -181,7 +181,7 @@ _spliceArraysBuffered s = do
181181spliceArraysRealloced :: forall m a. (MonadIO m, Storable a)
182182 => SerialT m (Array a) -> m (Array a)
183183spliceArraysRealloced s = do
184− idst <- liftIO $ A.newArray (A.bytesToElemCount (undefined :: a)
184+ let idst = liftIO $ A.newArray (A.bytesToElemCount (undefined :: a)
185185 (A.mkChunkSizeKB 4))
186186
187187 arr <- S.foldlM' A.spliceWithDoubling idst s