Revert "errcode: Use anonymous interfaces (#16522)"
Created by: ryanslade
This reverts commit 963d6f57bae9227f68067144bb0deff830484dce.
A downside of removing the intermediate interface types is that you can no longer select them and find implementations.