Deriving Dependently-Typed OOP from First Principles | Hacker News Reader