function tryNew<A extends unknown[], T>( _class: new (...args: A) => T, ...args: A ): T | Error { /* .... */ }
https://tsplay.dev/ND168m