You can do that now. Higher-order functions are simply functions that can take other functions as parameters or return them as results. C has been able to do that since forever. It's not something fancy: pretty much every programming language has something along these lines.
What is rarer is closures, but that's a different concept. You can have higher-order functions without having closures.
And functions as first class citizens is not a particularly high bar. I mean, C has higher order functions.