In objective-c, you can always check a class's protocols through its public headers. But if you have a class in swift, how do you know what protocols it conforms to? Is this even possible?
(Yes, I realize Apple's documentation lists the protocols it conforms to, but that doesn't seem like a real solution, since you might be working with a private framework or have some other theoretical reason for wanting to know an object's protocols.)
Also, yes, I know you can check for a specific protocol using the technique outlined here: https://stackoverflow.com/a/37351027/18961