One benefit to a move
/__moved
parameter modifier is that it provides an obvious spelling for initializers for move-only wrapper types:
/// A stdlib-provided replacement for all the adhoc @unchecked Sendable wrappers people are writing
struct Envelope<T> : MoveOnly, Sendable {
var wrappedValue: T
init(wrapping value: move T) {
wrappedValue = move(value)
}
}
(certain other details of this implementation assumed/omitted)