Sum.Member<'Sun'> | Sum.Member<'Rain', { mm: number }>
<->
{ Sun: null } | { Rain: { mm: number } }
A challenge here is in how the outcome can be affected by in which order the members attempt deserialisation; consider { Sun: null, Rain: { mm: number } }.
Borrowing terminology from Serde: https://serde.rs/enum-representations.html#externally-tagged
For any given tag and any given data:
A challenge here is in how the outcome can be affected by in which order the members attempt deserialisation; consider
{ Sun: null, Rain: { mm: number } }
.