I\'m wondering whether/what difference between First Class Function and High Order Function.
I read through those two wiki pages and they looks rather similar. If they
First class functions are functions that are treated like an object (or are assignable to a variable).
Higher order functions are functions that take at least one first class function as a parameter, or return at least one first class function.