> When the class is private, that means it's there for code reuse, not to express a hierarchy of concepts.

I am not sure I buy that... If we start to use bad names it's confusing for us developers too. Having a non-linear model deriving from the linear model base class is confusing, independently of the fact we use

![ducktyping](https://pbs.twimg.com/media/BPgjzbBCUAAXgMa.jpg:large)

or not.