I'm understanding now that people might prefer to derive types from a schema, since the structure of the type is already specified in the schema. But I'm confused how that is done with taggedEnums. I'm inclined to create that type with the Data.taggedEnum, so I can get all the utility functions. But is there any way to get a schema from that? Otherwise, I'm just going to have to duplicate structure and have to rely on testing to assert the congruence.