Reply to Me, > 3. Can type systems handle the 'natural' extension of > T[] ~ T[] -> T[]; > T[] ~ T -> T[]; > T ~ T[] -> T[]; > T ~ T -> T[]; > Closed. (Yes). > > 4. Can D's type system handle this - Open. I think that one is closed: yes it can, but as you point out, it wont. Because it causes inconstancies.