We should end up with more SparseVectors if the new sparseValue is Semigroup.plus(left.sparseValue, right.sparseValue).  This could apply to the (DenseVector, DenseVector) case too.