Notes for 'Thinking with Types: Type-Level Programming in Haskell', Chapters 1–5 | Hacker News Reader