4. Intrusive collections are more efficient in some cases.
I briefly look through the ICE code - you often use stl collections. Sometimes in time critical tasks it can be unefficient. For example, see a timer code - you store a pointer to a task object in collection, instead of using intrusive collection with zero additional cost... You often use maps for search by string keys (in call dispatch, for example) - surely, it is not efficient. It is common to generate perfect hash for static content, and use hash tables for dynamic content.