type abc is int * int * int function projection_abc (const tpl : abc) : int is 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 tpl.0 + tpl.1 type big_tuple is int * int * int * int * int * int * int * int * int * int * int * int const br : big_tuple = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) function update (const tpl : big_tuple) : big_tuple is block { tpl.11 := 2048 } with tpl