Ссылки
Если у нас есть ссылка на кортеж или запись, мы можем сначала разыменовать ссылку и затем применить оператор . для доступа или модификации структуры (включая оператор обновления записи):
val r = ref (Rect {x=1, y=1, width=10, height=10})
println((*r).width*(*r).height)
Но существует удобная альтернатива, аналогичная C/C++:
...
println(r->width*r->height)
*r = r->{x = r->x + 5, y = r->y + 5}
r->x -= 5
r->y -= 5
Конструкция rec->что-то эквивалентна (*rec).что-то.