If I may, and as author of dcollection, you'll certainly agree, I think the way forward is improving the language when it comes to collections.
That way, any behavior can be provided as user type. Patching the language in such a way is simply moving the problem around. The #1 problem we have when it comes to collection is type qualifier for template type parameters. I consider this to be on of the top problems of D right now, if not the #1 problem. The problem is that T!ElementType is a ompletely different type than T!const(ElementType) . Because of this, if is almost impossible to provide anything that behave anything close to arrays. That is th reason why collection are so scarce in D, this is the reason why efforts to implement AA without the black magic involved right now are failing. This problem is a killer for the viability of D2 on the long run. I'm not saying that lightly.