code: def testConcatenation(self):
      t1 = structural_tuple.structtuple(["a", "b"])
      t2 = structural_tuple.structtuple(["c", "d"])
      ab = t1(a=1, b=2)
      cd = t2(c=3, d=4)
  
      abcd = ab + cd
      self.assertAllEqual((1, 2, 3, 4), tuple(abcd))
      self.assertAllEqual(("a", "b", "c", "d"), abcd._fields)
  
      cdab = cd + ab
      self.assertAllEqual((3, 4, 1, 2), tuple(cdab))
      self.assertAllEqual(("c", "d", "a", "b"), cdab._fields)
  
      ab_tuple = ab + (3,)
      self.assertAllEqual((1, 2, 3), ab_tuple)
  
      tuple_ab = (3,) + ab
      self.assertAllEqual((3, 1, 2), tuple_ab)
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import structural_tuple
  from tensorflow_probability.python.internal import test_util
  from tensorflow.python.util import nest
label_desc: Use image node_id 5 for calling the StructTupleTest obj's underlying member method code with example usage: obj.testConcatenation() without return types