A Function that: Takes one or more functions as arguments Returns a function as a result Common in Functional Programming