void performer(Offset) (CodaTerminal *left, CodaTerminal *right); void perform(Offset, CodaInteger) (CodaInteger *left, CodaInteger *right) { left->value += right->value; } void perform(Offset, Point) (Point *left, Point *right) { left->x += right->x; left->y += right->y; }
Example 2: Types CodaInteger and Point.