mixTwoFunctions :: Range -> Range -> Int -> Int -> (Range, Range)
mixTwoFunctions right_slice slice pos count = (final_right_slice, final_slice)
        where
                final_right_slice = snd rightSliceMC
                final_slice       = fst rightSliceMC
                rightSliceMC      = rightSliceModCount currentRightSlice currentSlice count
                currentRightSlice = fst posMC
                currentSlice      = snd posMC
                posMC             = posModCount right_slice slice pos count
mixTwoFunctions :: Range -> Range -> Int -> Int -> (Range, Range)
mixTwoFunctions right_slice slice pos count = (final_right_slice, final_slice)
        where
                final_right_slice = snd rightSliceMC
                final_slice       = fst rightSliceMC
                rightSliceMC      = rightSliceModCount currentRightSlice currentSlice count
                currentRightSlice = fst posMC
                currentSlice      = snd posMC
                posMC             = posModCount right_slice slice pos count
mixTwoFunctions right_slice slice pos count = (final_right_slice, final_slice)
        where
                final_right_slice = snd rightSliceMC
                final_slice       = fst rightSliceMC
                rightSliceMC      = rightSliceModCount currentRightSlice currentSlice count
                currentRightSlice = fst posMC
                currentSlice      = snd posMC
                posMC             = posModCount right_slice slice pos count