Added ability to apply to higher arity function pointers/member function pointers/functors, circumventing the Apply scheme. Updated unit tests too. Added unit tests for higher arity currying
Updated operator() to check arity of function that will be called to give better diagnostics on incorrect calls