> If I have a class I can't modify and that doesn't conform to protocol `Foo`, can I make it conform to that protocol?
Yes, you can.
Yes, you can.
Obviously, it's going to be easier if you have written the code yourself, but what if someone else needs to read it?