Batch component additions/removals
When you add or remove a component from an entity, the entity's components get moved over to a new archetype. If you want to do this multiple times, then each operation is done separately, so each time the components get moved over. This is pretty wasteful, it would be more efficient if World and CommandBuffer could batch these operations so that multiple components can be added/removed in a single operation.
What I imagine is a function World::modify_components that takes a list of components to remove, and a list of new component data to add. It then modifies the entity accordingly, doing only a single archetype transfer in the process. The current World::remove_component and World::add_component can then simply forward to this more powerful function, and will exist for convenience. For CommandBuffer, the interface could mirror the one for World just proposed, but it could also try to be smart and auto-batch operations whenever it sees an opportunity to do so. That's not strictly necessary though, if modify_components is directly exposed.