Aside from Kousha's accurate response, it should be noted that the functions prefixed with an underscore in Ramda are considered internal and not meant to be accessed externally.
Ramda, which I helped create as one of its founders and primary authors, provides the exposed functions curryN
and curry
, while the underscore-prefixed ones are only for internal use. These functions have additional complexities, particularly in assisting with placeholders. While there could potentially be performance benefits by exposing them (as seen in Redux), we haven't found currying to significantly impact performance since implementing those helpers.
In libraries like Sanctuary, which have stricter standards, only these types of APIs would be allowed due to the prohibition of variadic inputs. On the other hand, Ramda has opted to support variadic functions to a greater extent, choosing not to follow that same approach.