in storehaus-algebra/src/main/scala/com/twitter/storehaus/algebra/MergeableStore.scala [31:37]
implicit def enrich[K, V](store: MergeableStore[K, V]): EnrichedMergeableStore[K, V] =
new EnrichedMergeableStore(store)
private[this] def addOpt[V](init: Option[V], inc: V)(implicit sg: Semigroup[V]): Option[V] = init match {
case Some(i) => Some(sg.plus(i, inc))
case None => Some(inc)
}