/**
* Return function result if function provided
* Returns itself if not a function
*/exportdeclareconstunFunction: <T, ARGSextendsany[] = T extends (...args: infer A) => any ? A : never>(fn: T, ...args: ARGS) => T extends (...args: any[]) => infer R ? R : T;