@amanda.hinchman-dominguez
Here is a simplified version of the code that required the use of the co/contravariance:
I have an interface RelativeImageReference that was implemented by two distinct classes.
They however have a common ItemViewModel implementation: RelativeImageReferenceModel.
Now an instance of RelativeImageReferenceModel can of course be bound by - for instance a TableView on one of the implementations - but only with the co rsp. contravariance.