arXiv 2003-01-28 EN Subclassing errors, OOP, and practically checkable rules to prevent them Kiselyov, Oleg