update haskell, head-tail-init-last