type array = { tab : int^100; size : int } fun f(a:array) returns (o:array) let o = { a with .size = 0 } tel node g(a:array) returns (o:array) var v, u : int^100; let v = [ a.tab with [0] = 0 ]; u = [ v with [10] = 99 ]; o = { a with .tab = u } tel node main() returns (o:array) let o = f(g({ tab = 1^100; size = 3 })); tel