I agree, I can do that. But I can't think of any simple way of making the individual/common penalty case transparent, ie I don't know if I can go without checking something like alpha.size == 1 vs alpha.size == n_targets. Except for the SVD solver, where I can use broadcasting, and that is already implemented.