Code for Coursera course Functional Programming Principles in Scala