Functional can be fun ...