export async function tryCatch(promise: T | Promise) { try { const data = await promise; return [null, data] as const; } catch (error) { return [error as E, null] as const; } }