I could also do something more like:
```
      val v = (summedDelta, storedValue) match {
        case (Some((_, delta)), Some(sv)) => extSemigroup.get.plus(sv, delta)
        case _ => summedDelta.map(_._2).getOrElse(storedValue.getOrElse(sys.error("This should never happen, both summedDelta and storedValue were None")))
      }
```