try_implicit_cast<>() supports non default constructible target types