class_docstr: Utility distribution to cast inputs/outputs of another distribution.
class_docstr_tok: ["Utility","distribution","to","cast","inputs\/outputs","of","another","distribution","."]
docstr: Maybe return a `_NonCompositeTensorCast`.
code: def __new__(cls, *args, **kwargs):
      """Maybe return a `_NonCompositeTensorCast`."""
  
      if cls is _Cast:
          if args:
              distribution = args[0]
          else:
              distribution = kwargs.get("distribution")
  
          if not auto_composite_tensor.is_composite_tensor(
              distribution
          ):
              return _NonCompositeTensorCast(*args, **kwargs)
      return super(_Cast, cls).__new__(cls)
  
imports: import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import kullback_leibler
  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 tensorshape_util
label_desc: Use image node_id 1 for calling the _Cast obj's underlying member method code with example usage: obj.__new__(cls) and returns: super, _NonCompositeTensorCast