Funny introduction to functional programmming principles