tuple decoding gets its own block to avoid clobbering initialized vars