1/* taken from mongoose.Document */ 2interface Document { 3 increment(): this; 4} 5 6/* our custom model extends the mongoose document */ 7interface CustomDocument extends Document { } 8 9export class Example<Z extends CustomDocument> { 10 constructor() { 11 // types of increment not compatible?? 12 this.test<Z>(); 13 } 14 15 public test<Z extends Document>() { } 16} 17