Отладчик
ghci может распечатать его для вас с правильно установленной точкой останова (но вам нужно загрузить определение в модуле):
{-# LANGUAGE ScopedTypeVariables #-}
f a = g a where
g (x :: Int) = x
Затем в ghci:
Prelude> :l tmp2.hs
[1 of 1] Compiling Main ( tmp2.hs, interpreted )
Ok, modules loaded: Main.
*Main> :b 3 9
Breakpoint 0 activated at tmp2.hs:3:7-9
*Main> f undefined
Stopped at tmp2.hs:3:7-9
_result :: Int = _
a :: Int = _
g :: Int -> Int = _
[tmp2.hs:3:7-9] *Main>