# Notes: Thinking with Types, Type-Level Programming in Haskell by Sandy Maguire

Posted on May 13, 2019
by jcb

# Contents

- Chapter 01: The Algebra Behind Types
- Chapter 02: Terms, Types and Kinds
- Chapter 03: Variance
- Chapter 04: Working with Types
- Chapter 05: Constraints and GADTS
- Chapter 06: Rank-N Types
- Chapter 07: Existential Types
- Chapter 08: Roles
- Chapter 09: Associated Type Families
- Chapter 10: First Class Families
- Chapter 11: Extensible Data
- Chapter 12: Custom Type Errors
- Chapter 13: Generics
- Chapter 14: Indexed Monads
- Chapter 15: Dependent Types