class A {} abstract class B extends A {} class C extends B {} var AA : typeof A = B; var BB : typeof B = A; var CC : typeof C = B; new AA; new BB; new CC;