Using curried higher-order functions