propReplaceInList2 :: [Int] -> Int -> Property
propReplaceInList2 xs j = (not . null) xs ==> replaceInList i [] xs == (uncurry (++) . mapSnd tail . splitAt i) xs where
    i = abs j `mod` length xs

-- | ensure that @replaceElementInList (xs!!i)@ and @replaceInList i@ are the same
propReplaceInList2 :: [Int] -> Int -> Property
propReplaceInList2 xs j = (not . null) xs ==> replaceInList i [] xs == (uncurry (++) . mapSnd tail . splitAt i) xs where
    i = abs j `mod` length xs

-- | ensure that @replaceElementInList (xs!!i)@ and @replaceInList i@ are the same
propReplaceInList2 xs j = (not . null) xs ==> replaceInList i [] xs == (uncurry (++) . mapSnd tail . splitAt i) xs where
    i = abs j `mod` length xs

-- | ensure that @replaceElementInList (xs!!i)@ and @replaceInList i@ are the same