-#ifdef __GLASGOW_HASKELL__
- = case _tagCmp split_key key of
- _LT -> splitLT fm_l split_key
- _GT -> mkVBalBranch key elt fm_l (splitLT fm_r split_key)
- _EQ -> fm_l
-#else
- | split_key < key = splitLT fm_l split_key
- | split_key > key = mkVBalBranch key elt fm_l (splitLT fm_r split_key)
- | otherwise = fm_l
-#endif
-
-{- UNUSED:
-splitGE EmptyFM split_key = emptyFM
-splitGE (Branch key elt _ fm_l fm_r) split_key
-#ifdef __GLASGOW_HASKELL__
- = case _tagCmp split_key key of
- _GT -> splitGE fm_r split_key
- _LT -> mkVBalBranch key elt (splitGE fm_l split_key) fm_r
- _EQ -> mkVBalBranch key elt emptyFM fm_r
-#else
- | split_key > key = splitGE fm_r split_key
- | split_key < key = mkVBalBranch key elt (splitGE fm_l split_key) fm_r
- | otherwise = mkVBalBranch key elt emptyFM fm_r
-#endif
--}
+ = case compare split_key key of
+ LT -> splitLT fm_l split_key
+ GT -> mkVBalBranch key elt fm_l (splitLT fm_r split_key)
+ EQ -> fm_l