Clear-and-replace: Updating huntingZones replaces all existing HuntingZone child elements. There is no individual add/remove for hunting zones.
Comma-separated lists:userMaxPerChannel, withAbnormalityId, cancelAbnormalityId, and inChannelingContinent are stored as comma-separated strings in XML but use YAML array syntax in DSL.
Smart defaults:channelMax defaults to 10, initChannelCount defaults to 1, and userMaxPerChannel defaults to "1000" if not specified on create.
Required on create:channelType and withAbnormalityId are required when creating a new continent entry.