`extends` not necessary... `trait DenseVector_SparseVector_Ops` is mixed in together in `SparseVector`, and there are no dependencies

Is there a specific reason why these traits are kept separate, instead of one joint trait? What is the design idea behind mixing these in instead of putting the implicits directly into `SparseVector`?