Updating PLR API for machine interfaces discussion

oh yes, the concrete backend definitely subclasses the ABC. That’s how it currently works and how ABCs typically work. :sweat_smile:

The ABC is the “contract” part, it doesn’t really add code/implementation. We might make it a Protocol. It’s just the type for the backend attribute, and provides a base class for concrete backends to have type signatures.