Но, блин, это время компиляции увеличит (в разы)... Я же потом точно захочу аннотации добавить, и паттерн-матчинг, и вариативность шаблонов (что отдельное развлечение будет - как сделать так, чтобы функция def f(s: std::vector<B+>) действительно могла быть вызвана с std::vector<D>)