AHHH. Suresh and I just talked about it, and I realized that you were most wise (in your mail) and you DO have to increment the count for select. If you don't, then consider the code let val x = (1, y) val y1 = #2 x val y2 = #2 x in (y1, y2) end Note, that the counts on x, y, y1 and y2 are all 1, but this code is equivalent to (y, y) Bad.