+ findZone = id
+
+
+fromZones :: [Zone] -> DomainMap Zone
+fromZones = fromList . map toPair
+ where
+ toPair z = (zoneName z, z)
+
+
+data Zone
+ = Zone {
+ zoneName :: !DomainName
+ , zoneSOA :: !(Maybe SOAFields)
+ , zoneRecordNames :: !(IO [DomainName])
+ , zoneResponder :: !(DomainName -> IO [SomeRR])
+ }
+
+isInZone :: DomainName -> Zone -> Bool
+isInZone name zone = zoneName zone `isZoneOf` name