If a new type is added to the list, we have to extend the CASE statement to handle the new
type, forcing recompilation of this piece of software. If the language supports dynamic
binding and overloading, we can overload the print methods with the single name print and
replace the CASE statement with the line: