findMax (IntMap (WordMap (NonEmpty min minV (Bin max maxV l _))))
    | w2i (xor min max) < 0 = case l of
        Tip -> (w2i min, minV)
        Bin max' maxV' _ _ -> (w2i max', maxV')
    | otherwise = (w2i max, maxV)
findMax (IntMap (WordMap (NonEmpty min minV (Bin max maxV l _))))
    | w2i (xor min max) < 0 = case l of
        Tip -> (w2i min, minV)
        Bin max' maxV' _ _ -> (w2i max', maxV')
    | otherwise = (w2i max, maxV)
findMax (IntMap (WordMap (NonEmpty min minV (Bin max maxV l _))))
    | w2i (xor min max) < 0 = case l of
        Tip -> (w2i min, minV)
        Bin max' maxV' _ _ -> (w2i max', maxV')
    | otherwise = (w2i max, maxV)