First-class higher-order functions