Use C++ library features (now that g++4.9.1 support them)
Use std::enable_if_t