code: def _uniform_dist(self, spread, total):
          
          fraction, fixed_increment = math.modf(total / spread)
          fixed_increment = int(fixed_increment)
          balance = 0
          dist = []
          for _ in range(spread):
              balance += fraction
              withdrawl = 1 if balance > 0.5 else 0
              if withdrawl:
                  balance -= withdrawl
              dist.append(fixed_increment + withdrawl)
          return dist
docs: Produce a uniform distribution of `total` across a list of
          `spread` size. The result is non-random and uniform.