elem is the list membership predicate, usually written in infix form, e.g., x `elem` xs. For the result to be False, the list must be finite; True, however, results from an element equal to x found at a finite index of a finite or infinite list.

Does the element occur in the structure?

The isInfixOf function takes two lists and returns True iff the first list is contained, wholly and intact, anywhere within the second.
Example:
> isInfixOf "Haskell" "I really like Haskell." == True
> isInfixOf "Ial" "I really like Haskell." == False

The isPrefixOf function takes two lists and returns True iff the first list is a prefix of the second.

The isSuffixOf function takes two lists and returns True iff the first list is a suffix of the second. Both lists must be finite.

delete x removes the first occurrence of x from its list argument. For example,
> delete 'a' "banana" == "bnana"
It is a special case of deleteBy, which allows the programmer to supply their own equality test.

The intersperse function takes an element and a list and `intersperses' that element between the elements of the list. For example,
> intersperse ',' "abcde" == "a,b,c,d,e"

asTypeOf is a type-restricted version of const. It is usually used as an infix operator, and its typing forces its first argument (which is usually overloaded) to have the same type as the second.

Generic equality: an alternative to "deriving Eq"