Coursera Functional Programming. 
Week 6. ForComp