Not sure why this isn't working as you'd expect, but as a solution, can you just use a lambda
function in the add-hook
function? For example
(add-hook 'haskell-mode-hook (lambda()
(turn-on-haskell-indentation)
(turn-on-haskell-docs-mode)))