Currying is a checking method to make sure that you get everything you need before you proceed
It divides your function into multiple smaller functions that can handle one responsibility. This makes your function pure and less prone to errors and side effects
It helps us to create a higher-order function
Currying promotes code reusability and modularity. You can create specialized functions by partially applying certain arguments and reuse those functions in different parts of your codebase.
Avoid passing the same variable again and again Currying helps you avoid repeating the same arguments over and over again when calling a function multiple times. Once you've created a partially applied function with some arguments fixed, you only need to provide the remaining arguments when you actually use the function.