eraseWhole :: (Eq a) => [a] -> [a]
eraseWhole xs = let xs' = eraseLoop xs in
    if length xs == length xs' then xs
                               else eraseWhole xs'
eraseWhole :: (Eq a) => [a] -> [a]
eraseWhole xs = let xs' = eraseLoop xs in
    if length xs == length xs' then xs
                               else eraseWhole xs'
eraseWhole xs = let xs' = eraseLoop xs in
    if length xs == length xs' then xs
                               else eraseWhole xs'