Add support for functional programming

The init file is pretty barebones because [zsh-functional](https://github.com/Tarrasch/zsh-functional) doesn't read any variables.

See this blow post on [higher order function in zsh](http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh).