When should we create abstractions instead of duplication? | Hacker News Reader