Type conversion for `Tuple` without `memcpy`

The native code (that actually is run) just does two moves. Also, if you use the tuple for something, these moves are elided:

julia> getfirst(t) = (a = identity(t); a[1])
getfirst (generic function with 1 method)


julia> @code_llvm getfirst((1,2))

define i64 @julia_getfirst_60706([2 x i64]* nocapture readonly dereferenceable(16)) #0 !dbg !5 {
top:
  %1 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i64 0, i64 0
  %2 = load i64, i64* %1, align 8
  ret i64 %2