BeginProgram: Tuples3

BeginFunction: «<int>|<string>» swap(«<string>|<int>» x)
	TupleDecl: «<int>|<string>» y
	Assign: y = tuple(x«2», x«1»)
	Return: y
EndFunction

BeginMain:
	TupleDecl: «<string>|<int>» pair1 := "Hello", 5
	TupleDecl: «<int>|<string>» pair2
	Assign: pair2 = swap(pair1)
	PrintLine: tupleToString(pair1), " becomes ", tupleToString(pair2)
EndMain
EndProgram
