How do closures enable partial application and currying
Closures can be used to implement partial application and currying, techniques that involve creating new functions by fixing a subset of arguments from an original function. This allows for more flexible and reusable function compositions.