Implemented `curry` and `uncurry`