Прагматичность разная бывает.
Вон в расте прагматично жить без ассоциированных типов, местных HKT и т.п особо не выходит, потому что тогда возврат какой-нибудь футуры или итератора превращается либо в боксинг (что в расте фатально для оптимизатора во многих кейсах), либо в костыли-костыльчики с местными Rank2 типами и т.п.