8 minutes of functional primitives
8 minutes of monad transformers
Flavour of meta-programming with shapeless
Recursion schemes in Scala