Why does this code work:
template< typename T, std::enable_if_t::value, T>* = nullptr> void Add(T) {} templa
SFINAE does not spread to default values for either types nor values. Only types of function arguments and result are used in this technique.