-
Nate Wittnam thinks this is interesting:
Identifying an abstraction and building a function for it
Using existing functions to build more complex abstractions
Passing existing functions to other functions to build even more complex abstractions
Minimise