บางประเภทอ่านเหมือนที่อยู่แบบยาว: Map<String, List<Pair<UserId, Role>>> — ใช้ได้สำหรับคอมไพเลอร์ ซึ่งเหนื่อยสำหรับมนุษย์ typealias ให้ชื่อที่สั้นลงโดยไม่ต้องเปลี่ยนรันไทม์ - ยังคงเป็นประเภทพื้นฐานเดียวกัน เมื่อคุณต้องการประเภทที่แตกต่าง ณ เวลาคอมไพล์โดยไม่ต้องห่อค่าใช้จ่ายบน JVM คลาสค่า @JvmInline จะล้อมค่าหนึ่งค่า แต่จะถูกลบออกไปตอนรันไทม์เมื่อปรับให้เหมาะสม - เหมาะสำหรับรหัสและหน่วย
typealias — ชื่อเล่น ไม่ใช่ตัวตนใหม่