nordlow/phobos — pull request #3 by aG0aep6G (2014-10-30 22:22:41+00:00)
Title: use the proper element type instead of T

T misses A's qualifiers which are needed. E has them. This means,
const/immutable are taken over from A automatically. This allows inout
to be used on front/back/opIndex. inout doesn't work for opSlice, but the
isMutable!A guard can be dropped.

move*, opSliceAssign, etc would be strictly fine with T, but to avoid
confusion I think it's better to not use T in Range at all.