Dependency injection using the Reader monad | Hacker News Reader