There is vector-algorithms [1] which has lots of mutable code. Note that it uses 'PrimMonad m => m ...', which means that the code may work on ST or IO. Cheers, [1] http://hackage.haskell.org/package/vector-algorithms -- Felipe.