Model domain data with structs, field tags, embedding, and composition. Compare values, copy records, control field visibility, and choose representations that keep invalid states out.