Haskell において、ある関数の定義が末尾再帰になっているかどうかをどうやって確かめる?
別の言い方をすれば、何を以って末尾再帰だと断定できる?

最後に自分自身を「呼び出す」ような形になっている、という言い方はできないよね。
関数を呼ぶのは評価が行われる時だから、引数の方が後に呼び出されるかもしれないし。