Coursera Functional Programming. 
Week 2. FunSets