It surprises me to no end that programming languages that promote a functional style with higher order functions do not support partial application as a part of the standard library. It covers 95% of the uses of curried procedures and gives you compiler warnings if you pass too few or too many arguments.
In scheme we have the cut macro that all self-respecting implementations provide which guarantees you zero runtime overhead.