When I work with maps, I tend to prefer ones whose elements can be iterated through in the same order they were inserted. It makes them feel more deterministic and easier to test. For this reason and others I've always been a sucker for LinkedHashMap in Java.
In the FP world, for lookups there is a preference for trees over maps. True, in Scala there is an immutable version of LinkedHashMap called ListMap, but it doesn't use hashes and seems too slow for most practical uses.
If I want to get the advantages of immutability, how can I satisfy my thirst for data structures that remember insertion order as well as having fast lookup? Has somebody written something in a library somewhere?