Functional Programming Principles in Scala Assignment Solutions