The question is whether we want `LinearModel` to be public or not; I'd say no and since we never documented it, we can rename it `_LinearModel` and tell users to stay off and do duck typing instead of `isinstance` checks. When the class is private, that means it's there for code reuse, not to express a hierarchy of concepts.