Chalmers Advanced Functional Programming Assignment #2