title: What are some interesting uses of higher-order functions?
body: <p>I'm currently doing a Functional Programming course and I'm quite amused by the concept of higher-order functions and functions as first class citizens. However, I can't yet think of many practically useful, conceptually amazing, or just plain interesting higher-order functions. (Besides the typical and rather dull <code>map</code>, <code>filter</code>, etc functions). </p>
  
  <p><strong>Do you know examples of such interesting functions?</strong> </p>
  
  <p>Maybe functions that return functions, functions that return lists of functions (?), etc.</p>
  
  <p>I'd appreciate examples in Haskell, which is the language I'm currently learning :)</p>