とりあえず、

let f = function x -> x;;
let f = fun x -> x;;

みたいのを:fundefに認識するよう修正。

そのあと、

a = b;;

=:identだけど、

let x = 1

=:punctに認識するよう直してるうちにわからなくなったので、結局一つもコミットせず。

おんなじ問題は*にもあって、

1*2

*:identだけど、

type t = int * string

*:punctになっていて欲しいみたいな感じで。めんどくさくって、むきーってなります。むきーって。

相互再帰andの後のも:fundefに認識するようにしたいけど、これはあまりにめんどいのでとりあえずはパスの方向で(個人的には)。

例えば、

let f = List.map ((+) 1)

みたいな定義を:fundefに認識するのは、型推論すればなんとかなりそうにも見えるが、外で定義された関数をいちいちたどるのは不可能なので、こいつは:identで我慢してもらう方向(個人的には)。

でももうあきらめちゃって、letで束縛されたやつは全て:fundefにしちゃうとかでも良いのかも。関数呼び出しは、ちょっとがんばれば構文的に認識できるわけだし(私が対応したわけでもないのに偉そうですが)。