working onrefactoring datum states to remove them from the datum, so that only states which are on are in the datum
Revert "working onrefactoring datum states to remove them from the datum, so that only states which are on are in the datum"

This reverts commit f701d516d7dc5228d2c98ee68891eec7423bd50e.
prototyping a new datum that is more flexible
Revert "prototyping a new datum that is more flexible"

This reverts commit acb68f616ab2a93aad6fd12d64ce994d0a91b4ac.