// Repro from comment in #21496 function Mixin(Base: TBase) { return class extends Base { }; } type Mixin = ReturnTypeOf type ReturnTypeOf = V extends (...args: any[])=>infer R ? R : never; type Crashes = number & Mixin;