@NotNull
  Result normalize(Component @NotNull [] sum) {
    Value acc = lattice.bot;
    boolean computableNow = true;
    for (Component prod : sum) {
      if (prod.isEmpty() || prod.value == lattice.bot) {
        acc = lattice.join(acc, prod.value);
      }
      else {
        computableNow = false;
      }
    }
    return (acc == lattice.top || computableNow) ? acc : new Pending(sum);
  }
@NotNull
  Result normalize(Component @NotNull [] sum)