4. Functional programming