For those curious about what metaclasses actually are, I wrote up an article with some motivating examples about this a little while back. Might be worth a read if you’re interested!
https://www.joe-bergeron.com/posts/Interfaces%20and%20Metacl...