In the comments for the postmovement pull request, you mentioned that deduplicating and using `append_column` "didn't work". I've been poking around the sqlalchemy source and it appears that all of the columns being passed to the constructor are set up in the same way as  the column added with `append_column`. (See `_init_items` and `append_column` in `lib/sqlalchemy/schema.py`). Can you investigate further, find out what exactly is breaking when you revert to the old version (using `append_column`). If you have trouble, get back to me with a test case of something that breaks and I'll take a look too.