From Objects to Functions : Build Your Software Faster and Safer with Functional Programming and Kotlin