Added initial implementation of move_if_noexcept