In this workshop, we learn about the basics of functional programming in Scala by building simple algebraic data types, implementing common patterns from category theory, and writing handy functional effect systems.