> That doesn't work if you are writing a library where users of the library are able to implement their own event types.
-or- in places where you simply want to maintain a compilation firewall, for compile times, or encapsulation... i.e. you don't want to update the "visitor" in a pile of unrelated files each time you come up with a new Event.
-or- in places where you simply want to maintain a compilation firewall, for compile times, or encapsulation... i.e. you don't want to update the "visitor" in a pile of unrelated files each time you come up with a new Event.