where im given these definitions
(++)::[a]->[a] []++ys = ys (x:xs)++ys = x:(xs++ys) filter::(a->Bool)->[a]->[a]: filter p [] = [] filter p (x:xs) = i