Designing abstractions with properties in mind | Hacker News Reader