もうだめだ

ifの条件が逆になっていることに気づかずに30分くらい費やしてしまった.

型環境に定数cが登録されていなかったら登録するというプログラムが書きたくて,

if TE.mem_const c tenv then
  register_const c ty tenv
else
  tenv

とか,thenとelseがあからさまに逆なプログラムと格闘していたわけだ.