code: def concat_from_sequence(
      input_sequence: Union[Tuple[tf.Tensor], List[tf.Tensor]],
      /,
      *,
      new_axis: int = 0,
      axis: int = 0,
      out: Optional[Union[tf.Tensor, tf.Variable]] = None,
  ) -> Union[tf.Tensor, tf.Variable]:
      is_tuple = type(input_sequence) is tuple
      if is_tuple:
          input_sequence = list(input_sequence)
      highest_dtype = input_sequence[0].dtype
      for i in input_sequence:
          highest_dtype = ivy.as_native_dtype(
              ivy.promote_types(highest_dtype, i.dtype)
          )
  
      if new_axis == 0:
          ret = tf.concat(input_sequence, axis=axis)
          return ret
      elif new_axis == 1:
          ret = tf.stack(input_sequence, axis=axis)
          return ret
  
imports: from collections import namedtuple
  from typing import Iterable, Union, Optional, Sequence, Tuple, NamedTuple, List, Literal, Callable, Any
  from numbers import Number
  import tensorflow
  from ivy.func_wrapper import with_unsupported_dtypes
  from ..None import backend_version
  import ivy
  from ivy.functional.ivy.experimental.manipulation import _to_tf_padding
label_desc: Use image node_id 22 for calling a global function with example usage: concat_from_sequence() and returns: ret, ret