DO. NOT. MERGE.

Sad PR to see how many tests break / how much code we have to change in order to revert out opaque-keys changes. Sigh.

Do not do NOT merge this.