Could not figure out why my setarchetype was telling me it was removing a system state when I could clearly inspect the archetype from and to and it was included in both.
2 hours debugging later
AssertArchetypeDoesNotRemoveSystemStateComponents, EntityComponentStoreDebug.cs, line 417
for (; n < src->TypesCount && o < dst->TypesCount;)
Should be
for (; o < src->TypesCount && n < dst->TypesCount;)
o tracks source, n tracks dst, unit test it yourself to verify but i’m 90% certain this is correct