Proper generic type in TableDowngrade constructor and related changes