Ну он частый был бы, если бы это было бы удобно. И когда тебе хочется такого, то это адская проблема, что ты не можешь легко юзать коллекции из стд
Ну можно было бы присунуть боксу
struct Box<T, A=DefaultAllocator> where A: Allocator { t: A::Wrap<T>, p: PhantomData<P> }
если бы были GAT, лол. При чем без потери обратной совместимости.