tuple macro