Function Composition: $ versus `.`
Both are fine, and it's a matter of choice.

The first definition, being a composition of functions, treats snd . head . filter (\(k, v) -&gt; key == k) as one big function.  It can therefore be transformed more easily into point-free style, if you like that kind of thing.

findKey'' :: (Eq k) =&gt; k -&gt; ([(k, v)] -&gt; v)
findKey'' key = snd . head . filter (\(k,v) -&gt; key == k)