Table 1: Double dispatch via table of function pointers