That has about the same issue: like std::move it doesn't really explain that the receiver decides.

std::offer

std::abandon() ?!

∆ That's actually quite accurate. I like it!

Maybe a std::take to pair with it?