A C++11 remake of the Boost.MPL