one thing I find myself using a lot is MaybePromise<T> = Promise<T> | T
this is because in some environments when i specify a function it doesn't always need to be async
i've noticed in some libraries that dont use this approach, you need to add the async keyword to your function even if you dont need the callback you're providing to be async - which seems wrong and messy
is there another approach that doesnt require me to come up with this utility type? something a little more blessed by the typescript gods?