смысл в том, что обычно у тебя в точке вызова все дженерики и трейты проверяются, и становится понятно какой impl нужен. А в случае с трейт-объектами, методы должны быть известны в момент конструирования инстанса чтоб конкретные функции вставить в vtable. А вызовы происходят позже.