fun sequence(): () -> Int { var next = 1 return { next++ } } fun main() { val first = sequence() val alias = first val second = sequence() println(listOf(first(), alias(), second(), first())) }