convert_to: restore the use of static_cast<> for the default implementation.

This apparently allows us to sidestep the problem of libc++ not recognizing explicit
cast operator in its type traits.