(* Check manually *) (* This test should only create two instances of f. *) const c:int = 3 const k:int = 1 fun f<>() returns (y:int) let y = n + 3 + c; tel fun g<>() returns (y:int) var x:int; let x = m + f<<2>>(); y = f<>(); tel fun i<>() returns (o : int) var x, y, z: int; let x = f<<2>>(); y = f<<1 + m>>(); z = f<>(); o = f<>(); tel fun h() returns (y:int) let y = c + g<>() + i<>(); tel node main() returns (y:int) let y = h() tel