> The term “higher order” generally indicates complexity and indirection.
As do all abstractions.
> If you can solve something first order, then that is much more preferable to a higher order solution.
a.k.a. "To abstract, or not to abstract?". It really depends, of course. But I know for certain I would not want to solve "mapping over an array" without the Array.prototype.map higher-order function.