Некоторые типы читаются как длинный адрес: Map<String, List<Pair<UserId, Role>>> — компилятору норм, людям устало. typealias даёт короткое имя без смены рантайма — это всё тот же тип. Когда нужен отдельный тип на этапе компиляции без обёртки по цене на JVM, @JvmInline value class оборачивает одно значение и часто стирается в него при оптимизации — удобно для id и единиц измерения.
typealias — кличка, не новая личность