# arrays of operations, including non-int subscripts
resource array1()
	op a[1:10](int n) {send}
	op b['a':'f'](int n)

	for [ i = 10 downto 1 ] {
		send a[i](i*100)
	}
	# receive them in reverse order
	for [ i = 10 downto 1 ] {
		in a[i](j) ->
			write(i,j)
		ni
	}

	for [ c = 'a' to 'f' ] {
		send b[c](int(c))
	}

	for [ c = 'f' downto 'a' ] {
		int  i 
		receive b[c](i)
		write(i)
	}


end
