Promises in JavaScript - q library design rationale | Hacker News Reader