I guess it depends on whether we want to use describe() as it is used in 2.x or whether it should be useable for rebuilding the full schema, with the goal of it being useful for migrations/schema management. For now I think describe() only providing operational data necessary for creating models is reasonable. We can always revisit describe() and add in more complete index reflection.