For example it is no problem in C++ to have std::vector<std::unique_ptr<foo>> vuf; But how can this be expressed in D? For example Array!(Unique!int) ua; doesn't compile because it requires this(this) which is obviously disabled for "Unique".