code: def concatenate(x, other):
      """Returns the concatenation of the dimension in `x` and `other`.
  
      *Note:* If either `x` or `other` is completely unknown, concatenation will
      discard information about the other shape. In future, we might support
      concatenation that preserves this information for use with slicing.
  
      For more details, see `help(tf.TensorShape.concatenate)`.
  
      Args:
        x: object representing a shape; convertible to `tf.TensorShape`.
        other: object representing a shape; convertible to `tf.TensorShape`.
  
      Returns:
        new_shape: an object like `x` whose elements are the concatenation of the
          dimensions in `x` and `other`.
      """
      return _cast_tensorshape(
          tf.TensorShape(x).concatenate(other), type(x)
      )
  
file_path: probability/tensorflow_probability/python/internal/tensorshape_util.py
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import tensor_util
label_desc: Use image node_id 5 for calling a global function with example usage: concatenate(x, other) and returns: _cast_tensorshape