(module
 (global $global_pair (mut (tuple i32 i64)) (tuple.make 2 (i32.const 0) (i64.const 0)))
 (func $pair (export "pair") (result i32 i64)
  (tuple.make 2
   (i32.const 42)
   (i64.const 7)
  )
 )
 (func (export "tuple-local") (result i32 i64)
  (local $x (tuple i32 i64))
  (local.get $x)
 )
 (func (export "tuple-global-get") (result i32 i64)
  (global.get $global_pair)
 )
 (func (export "tuple-global-set")
  (global.set $global_pair
   (tuple.make 2
    (i32.const 42)
    (i64.const 7)
   )
  )
 )
 (func (export "tail-call") (result i32 i64)
  (return_call $pair)
  (unreachable)
 )
)

;; (assert_return (invoke "pair") (tuple.make 2 (i32.const 42) (i64.const 7)))
;; (assert_return (invoke "tuple-local") (tuple.make 2 (i32.const 0) (i64.const 0)))
;; (assert_return (invoke "tuple-global-get") (tuple.make 2 (i32.const 0) (i64.const 0)))
;; (assert_return (invoke "tuple-global-set"))
;; (assert_return (invoke "tuple-global-get") (tuple.make 2 (i32.const 42) (i64.const 7)))
;; (assert_return (invoke "tail-call") (tuple.make 2 (i32.const 42) (i64.const 7)))
