Don't mutate options in `add` or `set`
Force add true and remove false flags in `add`, merge optional