次の2つは同じだから、セマンティクス上はコンストラクタでパターンマッチさせて要素を変数にバインドしてる

f x = case x of
[a,b] -> b

g x = case x of
((:) a ((:) b [])) -> b

http://www.sampou.org/haskell/report-revised-j/exps.html#lists
http://www.sampou.org/haskell/report-revised-j/basic.html#basic-lists