Function Composition Note: todo https://blog.coolhead.in/functional-programming-composition-of-functions