deleter v (Just s) | Set.null updated = Nothing
                   | otherwise        = Just updated
  where
    updated = Set.delete v s
deleter v (Just s) | Set.null updated = Nothing
                   | otherwise        = Just updated
  where
    updated = Set.delete v s
deleter v (Just s) | Set.null updated = Nothing
                   | otherwise        = Just updated
  where
    updated = Set.delete v s