Futurism: Why Functional Programming Should Be the Future of Software Development