code: def Residual(*layers, **kwargs):
    
    shortcut = kwargs.get('shortcut', Identity())  # pylint: disable=no-value-for-parameter
    if len(layers) > 1:
      return Serial(
          Branch(),  # pylint: disable=no-value-for-parameter
          Parallel(Serial(*layers), shortcut),
          SumBranches()  # pylint: disable=no-value-for-parameter
      )
    elif len(layers) == 1:
      return Serial(
          Branch(),  # pylint: disable=no-value-for-parameter
          Parallel(layers[0], shortcut),
          SumBranches()  # pylint: disable=no-value-for-parameter
      )
    else:
      raise ValueError('Empty residual combinator.')
docs: Constructs a residual version of layers, summing input to layers output.