Right now it assumes missing DNS records are "conflicts" and tries to delete them (which fails...) prior to adding them (which would've worked just fine except for the earlier failure...).
hasConflictingDNSRecord likely needs reconsidering, but certainly its use in the dns command.