Designing abstractions with properties in mind | Dark Hacker News