obj Swapper { fun doit(a: T*, b: T*) : void { var temp: T = *a; *a = *b; *b = temp; } } fun swap(a: T*, b: T*) : void { var temp: T = *a *a = *b *b = temp; } fun print2int(a: int, b: int) : void { simple_passthrough(a = a, b = b::) """ printf("yeah new syntax: %d, %d\n", a, b); """ } fun main() : int { var i: int = 7; var j: int = 6; print2int(i,j) swap(&i, &j) print2int(i,j) var it: Swapper it.doit(&i,&j); print2int(i,j) return 0 }