code: def concatenate_recurrent_states_of_links(
      links, split_recurrent_states
  ):
      assert split_recurrent_states is not None
      # Replace None with a list of None
      split_recurrent_states = list(split_recurrent_states)
      for i, srs in enumerate(split_recurrent_states):
          if srs is None:
              split_recurrent_states[i] = [None] * len(links)
          else:
              assert len(srs) == len(links)
      # Transpose first two axes of (batch_size, n_recurrent_links, ...)
      transposed = list(zip(*split_recurrent_states))
      assert len(links) == len(transposed)
      return [
          concatenate_recurrent_states(link, srs)
          for link, srs in zip(links, transposed)
      ]
  
imports: from cached_property import cached_property
  import chainer
  import chainer.functions
  import chainer.links
  import numpy
label_desc: Use image node_id 8 for calling a global function with example usage: concatenate_recurrent_states_of_links(links, split_recurrent_states) and returns: unknown