+1. Use the type system to prevent all the bugs that arise from
+ (de)normalization of domain names. We should use newtype wrappers
+ around string domain names that we can only create by using a
+ normalize_foo constructor. That way we can make sure that we never
+ do a comparison on a denormalized name.