splitMember x (Bin _ y l r)
   = case compare x y of
       LT -> let (lt, found, gt) = splitMember x l in (lt, found, join y gt r)
       GT -> let (lt, found, gt) = splitMember x r in (join y l lt, found, gt)
       EQ -> (l, True, r)
#if __GLASGOW_HASKELL__ >= 700

splitMember x (Bin _ y l r)
   = case compare x y of
       LT -> let (lt, found, gt) = splitMember x l in (lt, found, join y gt r)
       GT -> let (lt, found, gt) = splitMember x r in (join y l lt, found, gt)
       EQ -> (l, True, r)
#if __GLASGOW_HASKELL__ >= 700

splitMember x (Bin _ y l r)
   = case compare x y of
       LT -> let (lt, found, gt) = splitMember x l in (lt, found, join y gt r)
       GT -> let (lt, found, gt) = splitMember x r in (join y l lt, found, gt)
       EQ -> (l, True, r)
#if __GLASGOW_HASKELL__ >= 700
