うは、let rec上手くうごかねぇ……orz とか思ったら、一つ目の改行以降のoffsetの計算を間違えていただけだった。

let f x = 100

は一行だけど、

let rec fact n =
  if n = 0 then
    1
  else
    n * fact (n-1)

だと、どうしても再帰呼び出しまでに二行目以降に突入してしまうという。

Subversionにあるやつだと直ってます。