Plotting is another good example where you want to define new plot operations for existing types, but you also want to add new types to plot. (Matplotlib does a lot of manual type introspection, and it isn’t very extensible.)
9 Likes