Deriving Dependently-Typed OOP from First Principles -- Extended Version with Additional Appendices - Binder, David (arXiv.org)