Liskov substitution principle, revisited: mind your contracts | Hacker News Reader