Demystifying Functional Programming's Higher Order Functions — Programming Keynou