type abc is (int * int * int) function projection_abc (const tpl : abc) : int is block { skip } with tpl.1 function modify_abc (const tpl : abc) : abc is block { tpl.1 := 2048 ; } with tpl type foobar is (int * int) const fb : foobar = (0, 0) function projection (const tpl : foobar) : int is begin skip end with tpl.0 + tpl.1 type big_tuple is (int * int * int * int * int) const br : big_tuple = (23, 23, 23, 23, 23)