ブロック の型推論の環境 immutable な変数

とりあえず、再帰で呼び出しまくれば良いんじゃね?
グローバルな環境で既に定義がある変数を再定義して使う場合に、定義する前に参照してたら普通どうなるの?って言う話がある。
Cだと、未定義動作になる。Javaだと、参照不可、Scalaだと前方だか後方参照が駄目ってことで完全に不可ってことらしい。後で例をちゃんと書く。
けっこう、実装依存な所なので作りやすいように作ってしまおうということにした。
適当に作ったのでもうちょっと奇麗に書きたいけど、まぁOKってことにする。
あと、テストをちゃんとしないといけない。