I totally agree and can definitely code this in order to homogenize the interfaces of each solver. My only concern is that this will invariably result in for loops or kronecker products for most of the other solvers (in some cases one may get away with target-wise shrinking of the Gram matrix inside a matvec, I will check that out) and I wasn't sure about the scikit learn policy with respect to this: If I have to use a for loop inside the estimator to iterate over the targets, am I possibly losing too much performance for the gain in homogeneity of the interface? Should I warn about this somewhere (After a benchmark shows this)? In the doc? Using warnings.warn?