Curry public API

Add a high-performance curry function, and curry all public API functions.

Close #20