Let's say we want to computer the area of some Shape
types like Square
and Circle
We may have some function called sum-areas
that takes a list of Shape
, calls area on each of them, and sums them up. We don't have access to the original source, but want the ability to add new shapes.