>>689
詳しくはないんだけど,同じコードで特定の部分を,
let n = add (`int 0) (`int 1);;
なやつと
let n = `int(0+1);;
なやつをコンパイルしてみると結果が異なる(サイズも違う)ので,そういう最
適化はしていないんじゃないかな.

ちなみに 0 + 1 と (+) 0 1 は全く同じコードを吐くみたいだけど,
let add = (+);;
したあとの add 1 2 は違うコード吐くみたい.ちゃんと関数つくって呼んで
しまうので,微妙に効率が悪くなってるっぽい感じ? 部分適用も違うコード
を吐いているね.