My favorite article on this topic is Edward Z. Yang's "Tomatoes are a subtype of vegetables", which illustrates function contravariance with very charming drawings.
http://blog.ezyang.com/2014/11/tomatoes-are-a-subtype-of-veg...
http://blog.ezyang.com/2014/11/tomatoes-are-a-subtype-of-veg...
http://www.businessinsider.com/supreme-court-tomato-is-veget...
You can't make jam from tomatoes. Or at least it wouldn't be called jam. You can make jam from rhubarb, so in some sense that is a fruit.
Similarly, you can make soup out of tomatoes, but not out of rhubarb.
So, from the point of view of a cook, tomatoes can be considered vegetables and rhubarb fruit.
I think we need fuzzy classes. :-)
attributed to Miles Kington