Yesterday we started with defining our own typeclasses using simulacrum, and ended with checking for functor laws using Discipline.