I'm already optimizing the constant case above. The other cases are included for generality, since it seemed weird to have tupleref be able to do this (since it actually needs it), but tupleset not.