there's a basic choice to be made between allowing things t…

mungojelly ·

there's a basic choice to be made between allowing things to be in a SINGLE STATE at once, vs having them be TAGGED w/ states,,, tagging is more flexible of course & what you lose is making it simple to transition things, you've made it so a simple transition from state A to B which is the most common operation is taking away the A tag & also putting the B tag, & if you don't have some way to do that atomically then you'll get things just lost in inconsistent states where they've had their A tag removed but nothing added & they vanish, or have a B added while they still have an A tag & get confusing,, so i'd say have a single state & tools that transition to another single state, possibly w/ tagging as another option but that's adding interface complexity obvs