When Is Functional Programming Better