prop_shuffle i l =
    let b = shuffle i a
        a = [1 .. l]
        sameLength = length a == length b
        sameElements = null $ b \\ a
        changed = or $ zipWith (/=) a b
    in  l > 1 ==>
        sameLength && sameElements && changed
prop_shuffle i l =
    let b = shuffle i a
        a = [1 .. l]
        sameLength = length a == length b
        sameElements = null $ b \\ a
        changed = or $ zipWith (/=) a b
    in  l > 1 ==>
        sameLength && sameElements && changed
prop_shuffle i l =
    let b = shuffle i a
        a = [1 .. l]
        sameLength = length a == length b
        sameElements = null $ b \\ a
        changed = or $ zipWith (/=) a b
    in  l > 1 ==>
        sameLength && sameElements && changed