You can only make "additive" changes to an index. For instance, you can add a field, but you cannot modify the attributes of an existing field.
The reason is that as data gets indexed, the operations that happen on the data and the information that makes it into the index is dependent on the attributes of the field.
My recommendation is that during development, lean on enabling capabilities (such as whether a field is facetable or filterable). That may make your index a bit bigger, but I agree with you that it can be pretty frustrating during development to later realize that you wished you had set an attribute on a field.
Yeah! It is tough when we need to recreate an index from the beginning inorder to add an attribute to one particular field. Else there can be an option to remove the entire field and add it with the required attribute configuration.
@Roshini, I should mention that this is fair feedback. It may be ok to let the developer decide to drop a field for instance (as the developer may know for a fact that this is data they may no longer need). Will continue to track this.