クラスを実装しました。クラスには参照カウントが働きます。循環参照への対策は行っていません。
.NETと同じようにstructとclassを区別します。structは値型、classは参照型です。
変数の宣言書式はC#とは異なり、C++風に記述します。
struct A {} class B {} A a; // OK var a = new A; // NG B b; // NG var b = new B; // OK
当初はstructを全面的にclassへ移行しようとしましたが、今までの構造を大幅に変更する必要に迫られたため、structはそのままでclassを付け足す形で実装しました。複素数型などは値型の方が都合が良いため、structはこのまま残します。