Use XOR instead of template<bool> (>>should<< be equivalent)
Name refactoring
Fixed wrong operation
Added tuple explosion