IMO one shouldn't be able to take the reference of a tuple, to ensure that it can be kept in registers.
No need to restrict the language here, there's nothing stopping a decent compiler from storing tuples (actually _anything_) in registers, in some cases even if references are taken. I'm pretty sure LLVM can handle this.