簡単、高速、安全。Rc / RefCell の威力を知ってほしい。 データ型の定義 型 まずは普通に型 T を定義します。たとえば、ブーリアン型 \rm Bool と関数型 T \to T だけの型システムなら、以下のようになります。 Box ではなく Rc を使っています:これから型推論を実装しますが、型 T を型変数 \alpha に代入するとき、参照カウントをインクリメントするだけで T を clone できます。 型変数 次に、型変数 \alpha, \beta, \ldots をこれにくわえます。型変数は「まだ何も代入されていない」or「型 T が代入されている」のどちらかなので、これをそのまま enum で表します。

