@Override
  public Vector apply(SparseVector a, SparseVector b) {
    VectorIterator these = a.nonZeroIterator();
    VectorIterator those = b.nonZeroIterator();
    VectorIterator both = these.orElseSubtract(those);

    return both.toVector(factory);
  }