docs: def plus(*args):
      '''
      plus(a, b...) returns the sum of all the values as a numpy array object. Unlike numpy's add
        function or a+b syntax, plus will thread over the earliest dimension possible; thus if a.shape
        a.shape is (4,2) and b.shape is 4, plus(a,b) is a equivalent to
        [ai+bi for (ai,bi) in zip(a,b)].
      '''
      n = len(args)
      if   n == 0: return np.asarray(0)
      elif n == 1: return np.asarray(args[0])
      elif n >  2: return reduce(plus, args)
      (a,b) = unbroadcast(*args)
      return a + b