--- There are only 32 bits in an IPv4 address, so there
--- can't be more bits than that in the mask.
-maskbits_from_int :: Int -> Maskbits
-maskbits_from_int 0 = Zero
-maskbits_from_int 1 = One
-maskbits_from_int 2 = Two
-maskbits_from_int 3 = Three
-maskbits_from_int 4 = Four
-maskbits_from_int 5 = Five
-maskbits_from_int 6 = Six
-maskbits_from_int 7 = Seven
-maskbits_from_int 8 = Eight
-maskbits_from_int 9 = Nine
-maskbits_from_int 10 = Ten
-maskbits_from_int 11 = Eleven
-maskbits_from_int 12 = Twelve
-maskbits_from_int 13 = Thirteen
-maskbits_from_int 14 = Fourteen
-maskbits_from_int 15 = Fifteen
-maskbits_from_int 16 = Sixteen
-maskbits_from_int 17 = Seventeen
-maskbits_from_int 18 = Eighteen
-maskbits_from_int 19 = Nineteen
-maskbits_from_int 20 = Twenty
-maskbits_from_int 21 = TwentyOne
-maskbits_from_int 22 = TwentyTwo
-maskbits_from_int 23 = TwentyThree
-maskbits_from_int 24 = TwentyFour
-maskbits_from_int 25 = TwentyFive
-maskbits_from_int 26 = TwentySix
-maskbits_from_int 27 = TwentySeven
-maskbits_from_int 28 = TwentyEight
-maskbits_from_int 29 = TwentyNine
-maskbits_from_int 30 = Thirty
-maskbits_from_int 31 = ThirtyOne
-maskbits_from_int 32 = ThirtyTwo
-maskbits_from_int _ = None
+-- | There are only 32 bits in an IPv4 address, so there
+-- can't be more bits than that in the mask.
+maskbits_from_int :: Int -> Maybe Maskbits
+maskbits_from_int 0 = Just Zero
+maskbits_from_int 1 = Just One
+maskbits_from_int 2 = Just Two
+maskbits_from_int 3 = Just Three
+maskbits_from_int 4 = Just Four
+maskbits_from_int 5 = Just Five
+maskbits_from_int 6 = Just Six
+maskbits_from_int 7 = Just Seven
+maskbits_from_int 8 = Just Eight
+maskbits_from_int 9 = Just Nine
+maskbits_from_int 10 = Just Ten
+maskbits_from_int 11 = Just Eleven
+maskbits_from_int 12 = Just Twelve
+maskbits_from_int 13 = Just Thirteen
+maskbits_from_int 14 = Just Fourteen
+maskbits_from_int 15 = Just Fifteen
+maskbits_from_int 16 = Just Sixteen
+maskbits_from_int 17 = Just Seventeen
+maskbits_from_int 18 = Just Eighteen
+maskbits_from_int 19 = Just Nineteen
+maskbits_from_int 20 = Just Twenty
+maskbits_from_int 21 = Just TwentyOne
+maskbits_from_int 22 = Just TwentyTwo
+maskbits_from_int 23 = Just TwentyThree
+maskbits_from_int 24 = Just TwentyFour
+maskbits_from_int 25 = Just TwentyFive
+maskbits_from_int 26 = Just TwentySix
+maskbits_from_int 27 = Just TwentySeven
+maskbits_from_int 28 = Just TwentyEight
+maskbits_from_int 29 = Just TwentyNine
+maskbits_from_int 30 = Just Thirty
+maskbits_from_int 31 = Just ThirtyOne
+maskbits_from_int 32 = Just ThirtyTwo
+maskbits_from_int _ = Nothing