fix(#30): curry memoization curried arguments issue. performs a complete curry function refactor