be a dereferenceable value of type In.
model indirectly_movable_storable<In, Out>
only if after the initialization of the object obj
is equal to the value previously denoted by *i.
is an rvalue reference type,
the resulting state of the value denoted by *i
valid but unspecified ([lib.types.movedfrom]