Currying for C++