docstr: Maybe return a non-`CompositeTensor` `_BatchConcat`.
docstr_tok: ["Maybe","return","a","non-","`","CompositeTensor","`","`","_BatchConcat","`","."]
code: def __new__(cls, *args, **kwargs):
      """Maybe return a non-`CompositeTensor` `_BatchConcat`."""
  
      if cls is BatchConcat:
          if args:
              distributions = args[0]
          else:
              distributions = kwargs.get("distributions")
  
          if not all(
              auto_composite_tensor.is_composite_tensor(d)
              for d in distributions
          ):
              return _BatchConcat(*args, **kwargs)
      return super(BatchConcat, cls).__new__(cls)
  
imports: import functools
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import auto_composite_tensor
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 1 for calling the BatchConcat obj's underlying member method code with example usage: obj.__new__(cls) and returns: super, _BatchConcat