Assignment 0: Getting Set Up.
Assignment 1: Haskell Basics
Assignment 2: Typeclasses and MVar Basics
Assignment 3: Modelling Mutation
Assignment 4: STM and Parallelism