function debug
debug<T>(msg: () => T,...args: unknown[]): T | undefineddebug<T>(msg: T extends GenericFunction ? never : T,...args: unknown[]): Tdebug<T>(msg: () => T,...args: unknown[]): T | undefineddebug<T>(msg: T extends GenericFunction ? never : T,...args: unknown[]): T