Functional Programming Techniques & Assignment