Designing and Using Combinators: The Essence of Functional Programming | Hacker News Reader