Single header, templatized epxression tree in C++11