code: def test_serialize_tuple():
      test_pairs = (
          ((1, 2, 3), [1, 2, 3]),
          (("1", False, 0), ["1", False, 0]),
          (("1", False, 0), ("1", 0, 0)),
          (("1", b"qq", (2, 5, "0")), ["1", b"qq", (2, 5, "0")]),
      )
  
      for first, second in test_pairs:
          assert (
              MSGPackSerializer.loads(MSGPackSerializer.dumps(first))
              == first
          )
          assert (
              MSGPackSerializer.loads(MSGPackSerializer.dumps(second))
              == second
          )
          assert MSGPackSerializer.dumps(
              first
          ) != MSGPackSerializer.dumps(second)
  
imports: import asyncio
  import concurrent.futures
  import multiprocessing
  import random
  import time
  from concurrent.futures import ThreadPoolExecutor
  import numpy
  import pytest
  import torch
  import hivemind
  from hivemind.compression import deserialize_torch_tensor, serialize_torch_tensor
  from hivemind.proto.runtime_pb2 import CompressionType
  from hivemind.utils import BatchTensorDescriptor, DHTExpiration, HeapEntry, MSGPackSerializer, ValueWithExpiration
  from hivemind.utils.asyncio import achain, aenumerate, aiter_with_timeout, amap_in_executor, anext, as_aiter, asingle, attach_event_on_finished, azip, cancel_and_wait, enter_asynchronously
  from hivemind.utils.mpfuture import InvalidStateError
  from hivemind.utils.performance_ema import PerformanceEMA
label_desc: Use image node_id 8 for calling a global function with example usage: test_serialize_tuple() without return types