-- | /O(min(n,W))/. Delete and find the minimal element.
deleteFindMin :: IntMap a -> ((Key, a), IntMap a)
deleteFindMin m = let (k, a) = findMin m
                  in ((k, a), delete k m)
deleteFindMin :: IntMap a -> ((Key, a), IntMap a)
deleteFindMin m = let (k, a) = findMin m
                  in ((k, a), delete k m)
deleteFindMin m = let (k, a) = findMin m
                  in ((k, a), delete k m)