code: def get_concat_type(itype1, itype2):
      newwidth = max(itype1.width, itype2.width)
      newint = max(itype1.integer, itype2.integer)
      if itype1.signed ^ itype2.signed:  # XOR
          newint += 1
          newwidth += 1
      newrmode = (
          itype1.rounding_mode
          if itype1.rounding_mode is not None
          else itype2.rounding_mode
      )
      newsmode = (
          itype1.saturation_mode
          if itype1.saturation_mode is not None
          else itype2.saturation_mode
      )
      newsbits = (
          itype1.saturation_bits
          if itype1.saturation_bits is not None
          else itype2.saturation_bits
      )
  
      newtype = FixedPrecisionType(
          newwidth,
          newint,
          itype1.signed or itype2.signed,
          newrmode,
          newsmode,
          newsbits,
      )
      return newtype
  
imports: from hls4ml.model.optimizer import OptimizerPass
  from hls4ml.model.types import FixedPrecisionType
label_desc: Use image node_id 1 for calling a global function with example usage: get_concat_type(itype1, itype2) and returns: newtype