It's interesting how much higher-order looking code you can write while still being first-order (or close to it).
Two recently released languages (Bend2 and Goose), have severe restrictions on HOFs and yet that doesn't seem to affect day to day code too much.