$c+
module test16_3 { test reference tuple passing}

typedefinition tuple [integer first, integer second] Pair;
typedefinition tuple [procedure passer(reference Pair val)] Call;

Pair twoInts;
Call sender;

procedure Call@passer
begin
	val@first := 1;
	val@second := 1;
end;

private
begin
	twoInts := [0,0];
	sender!passer(twoInts);
	write twoInts@first, " ", twoInts@second; { output 1 1 }
end.
