I understand C++ programming concepts (i.e. Classes, generics, etc). pretty well

However, I always feel a little lost about stuff that you don't do
(easily) in C++, like first class functions, partials, currying,
reflection, etc.

Can someone recommend some resources for better understanding of these
weird concepts?

Thanks,
Joe