Tagged types C++ library