Janice Caron wrote: > Here's a typical problem. > > class MyArray(T) > { > T[] a; > > T* ptr() { return a.ptr; } > const(T)* ptr() const { return a.ptr; } > invariant(T)* ptr() invariant { return a.ptr; } > } > > A template helps how, exactly? TransferConst!(U,T) ptr(this U)() { return a.ptr; }