Note on `Functional Programming Principles in Scala` from coursera