Simply template definitions
Use std::enable_if_t helper types from C++14 to get rid of the 'typename' and '::type' in every template definition.