Small C++11 Variant Template