Fix #8152: Rearchitect some parts of opaque types handling #8170
+223
−171
We went looking everywhere, but couldn’t find those commits.
Sometimes commits can disappear after a force-push. Head back to the latest changes here.