+def _deserialize_tuple(b):
+ bytes_read, payload = _read_length_then_payload(b)
+
+ payload_stream = io.BytesIO(payload)
+
+ total_bytes_read = 0
+ instance = []
+
+ while total_bytes_read < len(payload):
+ partial_bytes_read, item = _deserialize_partial(payload_stream)
+ total_bytes_read += partial_bytes_read
+ instance.append(item)
+
+ return bytes_read, TaggedObject(tag = TAG_TUPLE, instance = tuple(instance))
+