Even though advertised as parallel programming tools, parMap and other
functions that work in parallel over *sequential* access data
structures (i.e. linked lists.) We want flat, strict, unpacked data
structures to get good performance out of parallel algorithms. DPH,
repa, and even vector show the way.
You would think that tree data structures would be good here as well. For example, monad-par includes a definition of an append-based "AList" (like Guy Steele argues for).
But alas that turns out to be much harder to get working well. For most algorithms Vectors so often end up better.
-Ryan