Functional programming philosophy