Thank you Arthur and Howard!
Sure, I can (re)introduce it. I was given some pretty compelling
arguments for why it should be removed in the first code review I
requested for the implementation:
> https://codereview.stackexchange.com/questions/297876/freestanding-try-lock-for-try-lock-until/297885#297885
The main objection was mainly that it's not predictable (and the
algorithm is an implementation detail) - but I agree that for
consistency and for possible uses of the index that I can't foresee
myself, I'd better add it.
I'll work on an update and be back!
One more nit I missed: Remove every instance of [[nodiscard]] from your proposed wording. You are correct that vendors should mark the function [[nodiscard]] (just like they do for std::lock and std::try_lock), but we don't write that noise in the paper standard itself; we leave it up to vendors to do it quietly by themselves, just like we leave it up to compiler vendors to decide whether to emit a diagnostic when you discard an expression's value regardless of whether it's explicitly marked [[nodiscard]] or not.
–Arthur