Christian Maeder wrote: >> isEqual :: Eq a => [a] -> [a] -> Bool >> isEqual [] _ = True >> isEqual (_:_) [] = False >> isEqual (x:xs) (y:ys) >> | x==y = isEqual xs ys >> | otherwise = False > > isEqual is not needed, because "Eq" provides "==" over lists, too. Ah, isEqual isn't "==", but isPrefixOf. C.