Arrows Understanding arrows Continuation passing style (CPS) Mutable objects Zippers Applicative Functors Monoids Concurrency