// Created on savesnippets.com ยท https://savesnippets.com/CC4OSZt35bbV9r typealias UserId = Long typealias EventMap = Map> typealias Predicate = (T) -> Boolean // Real-world: cleans up callback signatures typealias OnUserClick = (userId: UserId, source: String) -> Unit fun registerHandler(onClick: OnUserClick) { onClick(42L, "menu") } fun main() { val events: EventMap = mapOf( "signup" to listOf("u1", "u2"), "login" to listOf("u3"), ) println(events["signup"]) val isPositive: Predicate = { it > 0 } println(isPositive(5)) // true registerHandler { id, src -> println("clicked: $id from $src") } }