Notes for 'Thinking with Types: Type-Level Programming in Haskell', Chapters 1–5
abhinavsarkar.net