As of C++11, the only requirement on `T` is that it is _Erasable_ (Destructible)