function isInstance<T>(x: unknown, ctor: new (...a: any[]) => T): x is T {
return x instanceof ctor
}
isInstance(new Date(), Date) // β trueA generic isInstance guard uses instanceof with a constructor type to narrow any class.
Challenge: Implement isInstance<T>(x: unknown, ctor: new (...args: any[]) => T): x is T β a generic instanceof check.
isInstance(new Date(), Date) // β true
isInstance('hello', Date) // β false
isInstance(new Error('e'), Error) // β true