async function tapAsyncFn(fn, input){ await fn(input)
return input}
export function tapAsync(fn, input){ if (arguments.length === 1){ return async _input => tapAsyncFn(fn, _input) }
return new Promise((resolve, reject) => { tapAsyncFn(fn, input).then(resolve) .catch(reject) })}