The reason that RENAME and ALTER KEYS are currently their own thing is that for some wonderful reason you can specify them repeatedly in the ALTER TABLE syntax, but only the last one takes effect (that is, there's a maximum of 1 of these operations per ALTER TABLE).
e.g.
CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
ALTER TABLE t1 RENAME t2, RENAME t3;
The reason that RENAME and ALTER KEYS are currently their own thing is that for some wonderful reason you can specify them repeatedly in the ALTER TABLE syntax, but only the last one takes effect (that is, there's a maximum of 1 of these operations per ALTER TABLE).
e.g.
CREATE TABLE t1 (a int);
CREATE TABLE t2 (a int);
ALTER TABLE t1 RENAME t2, RENAME t3;
will succeed (the first RENAME is ignored).
Yes, this sucks, but is current behaviour.