export type GetEffectErrorType<E> = E extends Effect.Effect<unknown, infer U, unknown> ? U : E;
export type GetFunctionEffectErrorType<F extends (...args: any[]) => Effect.Effect<unknown, unknown, unknown>> =
GetEffectErrorType<ReturnType<F>>;
export type GetEffectErrorType<E> = E extends Effect.Effect<unknown, infer U, unknown> ? U : E;
export type GetFunctionEffectErrorType<F extends (...args: any[]) => Effect.Effect<unknown, unknown, unknown>> =
GetEffectErrorType<ReturnType<F>>;