>  I'd say stop inheriting. You'd need to override just about everything, right?

I'd say different classes: you won't be able to implement 'normalize' in
the kernel case. It's a pretty important feature of the linear case. The
2 things a significantly-enough beasts, IMHO.