+-- If the two Cidrs are not adjacent, return Cidr.None. Otherwise,
+-- decrement the maskbits of cidr1 and return that; it will contain
+-- both cidr1 and cidr2.
+combine_adjacent :: Cidr -> Cidr -> Cidr
+combine_adjacent cidr1 cidr2
+ | not (adjacent cidr1 cidr2) = Cidr.None
+ | (maskbits cidr1 == Zero) = Cidr.None
+ | otherwise = cidr1 { maskbits = decrement (maskbits cidr1) }
+
+
+