Async/Sync called function return type or immediately if the input is not a function
const myFunc = async (a: string, b: number) => {
console.log("called with " + a + " and " + b);
};
console.log("done with " + (await SmartFunctionCallThroughAsync(this, myFunc, "a", 5)));
initializes a function call and calls it with context but shows as the function type (async/sync)