Hi Here's another one: f [] = v f (x:xs) = x . f xs The "." is supposed to denote a generic operator - f [] maps to some value v and applied to non-empty list applies head to ? operator. Thanks, Paul