let a = Big_int.succ_big_int Big_int.zero_big_int in
let b = Big_int.unit_big_int in
a = b
とかすると
Fatal error: exception Invalid_argument("equal: abstract value")
と実行時に出る。
コンパイル時に型推論的にはじいてくれないだろうか。
ちなみに
let a = Big_int.succ_big_int Big_int.zero_big_int in
let b = Big_int.zero_big_int in
a = b
だと通る。