Functional Programming in JVM Final Project