auto x = [1,2,3]; auto y = x.idup; y ~= 99; // fine! y[0] = 99; // "Error: y[0] isn't mutable" y.clear; // fine! So idup is returning an "immutable(int)[]" rather than an "immutable int[]". I find this a bit surprising. Anybody else?