code: def testComposite(self):
      auto_normal = auto_composite_tensor.auto_composite_tensor(
          normal.Normal, omit_kwargs=("name",)
      )
  
      def _loop_fn(state, element):
          return state + element
  
      def _trace_fn(state):
          return [state, 2 * state, auto_normal(state, 0.1)]
  
      final_state, trace = loop_util.trace_scan(
          loop_fn=_loop_fn,
          initial_state=0.0,
          elems=[1.0, 2.0],
          trace_fn=_trace_fn,
      )
  
      self.assertAllClose(
          [], tensorshape_util.as_list(final_state.shape)
      )
      self.assertAllClose([2], tensorshape_util.as_list(trace[0].shape))
      self.assertAllClose([2], tensorshape_util.as_list(trace[1].shape))
  
      self.assertAllClose(3, final_state)
      self.assertAllClose([1, 3], trace[0])
      self.assertAllClose([2, 6], trace[1])
  
      self.assertIsInstance(trace[2], normal.Normal)
      self.assertAllClose([1.0, 3.0], trace[2].loc)
      self.assertAllClose([0.1, 0.1], trace[2].scale)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import loop_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 5 for calling the TraceScanTest obj's underlying member method code with example usage: obj.testComposite() and returns: unknown, list