Error returned by OneFlight non-bang APIs and raised by bang APIs.
OneFlight
@type kind() :: :error | :exit | :throw
@type reason() :: :timeout | :execution | :cancelled | :invalid_option
@type t() :: %OneFlight.Error{ __exception__: true, kind: kind() | nil, message: String.t(), payload: term(), reason: reason(), stacktrace: list() | nil }
@spec execution(kind(), term(), list()) :: t()
@spec invalid_option(String.t()) :: t()
@spec timeout() :: t()