doubleMixinConditionalTypeBaseClassWorks.ts(3,81): error TS2564: Property '_fooPrivate' has no initializer and is not definitely assigned in the constructor.


==== doubleMixinConditionalTypeBaseClassWorks.ts (1 errors) ====
    type Constructor = new (...args: any[]) => {};
    
    const Mixin1 = <C extends Constructor>(Base: C) => class extends Base { private _fooPrivate: {}; }
                                                                                    ~~~~~~~~~~~
!!! error TS2564: Property '_fooPrivate' has no initializer and is not definitely assigned in the constructor.
    
    type FooConstructor = typeof Mixin1 extends (a: Constructor) => infer Cls ? Cls : never;
    const Mixin2 = <C extends FooConstructor>(Base: C) => class extends Base {};
    
    class C extends Mixin2(Mixin1(Object)) {}