code: def testUpTo(self):
      a = {"y": 3.0, "z": 2.0}
      b = {"y": [10.0, -1.0], "z": [-4.0, 2.0]}
  
      def g(a, b):
          b1, b2 = b
          yield a * b1
          return a * b2
  
      yvals, rvals = _get_yielded_and_returned_values(
          nest_util.map_structure_coroutine(g, a, b, _up_to=a)
      )
      self.assertAllCloseNested(yvals, [30.0, -8.0])
      self.assertAllCloseNested(rvals, {"y": -3.0, "z": 4.0})
  
imports: import collections
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import deterministic
  from tensorflow_probability.python.distributions import half_cauchy
  from tensorflow_probability.python.distributions import joint_distribution_auto_batched
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow.python.util import nest
label_desc: Use image node_id 4 for calling the MapStructureCoroutineTest obj's underlying member method code with example usage: obj.testUpTo() and returns: unknown