+-----------+ | Algebraic | ~~~> Generic thinking: concrete forms / Shapeless | Data | ~~~> Generic thinking: AlgDT as fix-point / Matryoshka | Types | ~~~> Add fields (with Id) as in Doobie lecture +-----------+ ~~~> Generalization: GADT
+-----------+ | Algebraic | ~~~> Generic thinking: concrete forms / Shapeless | Data | ~~~> Generic thinking: AlgDT as fix-point / Matryoshka | Types | ~~~> Add fields (with Id) as in Doobie lecture +-----------+ ~~~> Generalization: GADT