A simple introduction to functional programming, uniqueness types and monads | Hacker News Reader