Having a hard time understanding anchored ARC lifetimes

The newly-accepted consume (your _move/take), and I think literally nothing else for a parameter. For a local you could assign nil over it, but parameters are alive for the entire function body in today's Swift, even __owned ones. Previously this lifetime was sometimes shortened; my understanding is that that doesn't happen anymore.

(Now that I think of it, this doesn't seem optimal for existing setters and initializers taking implicitly-consuming parameters…but maybe those still get "forwarded" in enough cases, where there's no observable side effect between the last use and a possible deinit.)