Brian Hulley wrote: > (==) (Add xs) (Add ys) = and (map (\(x, y) -> x==y) (zip xs ys)) What on earth was I thinking!!! ;-) Should be: (==) (Add xs) (Add ys) = xs == ys (Doesn't affect the validity of my argument though...)