Please provide me with an example of an immovable but relocatable
type, that actually makes sense.
I tried to come-up with such a type, but failed.
gsl::not_null<std::unique_ptr<C>> (or any smart pointer type)
std::lock_guard<M>, and many other guard types. (Yes, these can be made movable, witness std::unique_lock, but that's often pointless complexity since a moved-from instance is almost always immediately destroyed.)