package generic

import "github.com/IBM/fp-go/context/readerioeither/generic"

Index

Functions

func Alt

func Alt[LAZY ~func() GEA, GEA ~func(context.Context) GIOA, GIOA ~func() E.Either[error, A], A any](second LAZY) func(GEA) GEA

func AltSemigroup

func AltSemigroup[GRA ~func(context.Context) GIOA, GIOA ~func() ET.Either[error, A], A any]() S.Semigroup[GRA]

func Ap

func Ap[
	GRB ~func(context.Context) GIOB,
	GRAB ~func(context.Context) GIOAB,
	GRA ~func(context.Context) GIOA,

	GIOB ~func() E.Either[error, B],
	GIOAB ~func() E.Either[error, func(A) B],
	GIOA ~func() E.Either[error, A],

	A, B any](fa GRA) func(GRAB) GRB

func ApPar

func ApPar[
	GRB ~func(context.Context) GIOB,
	GRAB ~func(context.Context) GIOAB,
	GRA ~func(context.Context) GIOA,

	GIOB ~func() E.Either[error, B],
	GIOAB ~func() E.Either[error, func(A) B],
	GIOA ~func() E.Either[error, A],

	A, B any](fa GRA) func(GRAB) GRB

func ApS

func ApS[GRTS1 ~func(context.Context) GTS1, GRS1 ~func(context.Context) GS1, GRS2 ~func(context.Context) GS2, GRT ~func(context.Context) GT, GTS1 ~func() ET.Either[error, func(T) S2], GS1 ~func() ET.Either[error, S1], GS2 ~func() ET.Either[error, S2], GT ~func() ET.Either[error, T], S1, S2, T any](
	setter func(T) func(S1) S2,
	fa GRT,
) func(GRS1) GRS2

ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently

func ApSeq

func ApSeq[
	GRB ~func(context.Context) GIOB,
	GRAB ~func(context.Context) GIOAB,
	GRA ~func(context.Context) GIOA,

	GIOB ~func() E.Either[error, B],
	GIOAB ~func() E.Either[error, func(A) B],
	GIOA ~func() E.Either[error, A],

	A, B any](fa GRA) func(GRAB) GRB

func ApplicativeMonoid

func ApplicativeMonoid[GRA ~func(context.Context) GIOA, GRFA ~func(context.Context) GIOFA, GIOA ~func() ET.Either[error, A], GIOFA ~func() ET.Either[error, func(A) A], A any](
	m M.Monoid[A],
) M.Monoid[GRA]

func ApplicativeMonoidPar

func ApplicativeMonoidPar[GRA ~func(context.Context) GIOA, GRFA ~func(context.Context) GIOFA, GIOA ~func() ET.Either[error, A], GIOFA ~func() ET.Either[error, func(A) A], A any](
	m M.Monoid[A],
) M.Monoid[GRA]

func ApplicativeMonoidSeq

func ApplicativeMonoidSeq[GRA ~func(context.Context) GIOA, GRFA ~func(context.Context) GIOFA, GIOA ~func() ET.Either[error, A], GIOFA ~func() ET.Either[error, func(A) A], A any](
	m M.Monoid[A],
) M.Monoid[GRA]

func Ask

func Ask[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, context.Context],

]() GRA

func Asks

func Asks[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) A,
	GIOA ~func() E.Either[error, A],

	A any](r GRB) GRA

func Bind

func Bind[GRS1 ~func(context.Context) GS1, GRS2 ~func(context.Context) GS2, GRT ~func(context.Context) GT, GS1 ~func() ET.Either[error, S1], GS2 ~func() ET.Either[error, S2], GT ~func() ET.Either[error, T], S1, S2, T any](
	setter func(T) func(S1) S2,
	f func(S1) GRT,
) func(GRS1) GRS2

Bind attaches the result of a computation to a context [S1] to produce a context [S2]

func BindTo

func BindTo[GRS1 ~func(context.Context) GS1, GRT ~func(context.Context) GT, GS1 ~func() ET.Either[error, S1], GT ~func() ET.Either[error, T], S1, T any](
	setter func(T) S1,
) func(GRT) GRS1

BindTo initializes a new state [S1] from a value [T]

func Bracket

func Bracket[
	GA ~func(context.Context) TA,
	GB ~func(context.Context) TB,
	GANY ~func(context.Context) TANY,

	TA ~func() E.Either[error, A],
	TB ~func() E.Either[error, B],
	TANY ~func() E.Either[error, ANY],

	A, B, ANY any](

	acquire GA,
	use func(A) GB,
	release func(A, E.Either[error, B]) GANY,
) GB

Bracket makes sure that a resource is cleaned up in the event of an error. The release action is called regardless of whether the body action returns and error or not.

func Chain

func Chain[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](f func(A) GRB) func(GRA) GRB

func ChainEitherK

func ChainEitherK[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() E.Either[error, B],

	A, B any](f func(A) E.Either[error, B]) func(ma GRA) GRB

func ChainFirst

func ChainFirst[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](f func(A) GRB) func(GRA) GRA

func ChainFirstEitherK

func ChainFirstEitherK[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A, B any](f func(A) E.Either[error, B]) func(ma GRA) GRA

func ChainFirstIOK

func ChainFirstIOK[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	GIO ~func() B,

	A, B any](f func(A) GIO) func(ma GRA) GRA

func ChainIOEitherK

func ChainIOEitherK[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() E.Either[error, B],

	A, B any](f func(A) GIOB) func(ma GRA) GRB

func ChainIOK

func ChainIOK[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() E.Either[error, B],

	GIO ~func() B,

	A, B any](f func(A) GIO) func(ma GRA) GRB

func ChainOptionK

func ChainOptionK[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOB ~func() E.Either[error, B],

	GIOA ~func() E.Either[error, A],

	A, B any](onNone func() error) func(func(A) O.Option[B]) func(GRA) GRB

func ChainReaderIOK

func ChainReaderIOK[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GRIO ~func(context.Context) GIO,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	GIO ~func() B,

	A, B any](f func(A) GRIO) func(ma GRA) GRB

func Defer

func Defer[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any](gen func() GRA) GRA

Defer creates an IO by creating a brand new IO via a generator function, each time

func Delay

func Delay[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any](delay time.Duration) func(ma GRA) GRA

Delay creates an operation that passes in the value after some delay

func Do

func Do[GRS ~func(context.Context) GS, GS ~func() ET.Either[error, S], S any](
	empty S,
) GRS

Bind creates an empty context of type [S] to be used with the Bind operation

func Eitherize0

func Eitherize0[GRA ~func(context.Context) GIOA, F ~func(context.Context) (R, error), GIOA ~func() E.Either[error, R], R any](f F) func() GRA

Eitherize0 converts a function with 0 parameters returning a tuple into a function with 0 parameters returning a [GRA] The inverse function is Uneitherize0

func Eitherize1

func Eitherize1[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0) (R, error), GIOA ~func() E.Either[error, R], T0, R any](f F) func(T0) GRA

Eitherize1 converts a function with 1 parameters returning a tuple into a function with 1 parameters returning a [GRA] The inverse function is Uneitherize1

func Eitherize10

func Eitherize10[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) GRA

Eitherize10 converts a function with 10 parameters returning a tuple into a function with 10 parameters returning a [GRA] The inverse function is Uneitherize10

func Eitherize2

func Eitherize2[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1) (R, error), GIOA ~func() E.Either[error, R], T0, T1, R any](f F) func(T0, T1) GRA

Eitherize2 converts a function with 2 parameters returning a tuple into a function with 2 parameters returning a [GRA] The inverse function is Uneitherize2

func Eitherize3

func Eitherize3[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, R any](f F) func(T0, T1, T2) GRA

Eitherize3 converts a function with 3 parameters returning a tuple into a function with 3 parameters returning a [GRA] The inverse function is Uneitherize3

func Eitherize4

func Eitherize4[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, R any](f F) func(T0, T1, T2, T3) GRA

Eitherize4 converts a function with 4 parameters returning a tuple into a function with 4 parameters returning a [GRA] The inverse function is Uneitherize4

func Eitherize5

func Eitherize5[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, R any](f F) func(T0, T1, T2, T3, T4) GRA

Eitherize5 converts a function with 5 parameters returning a tuple into a function with 5 parameters returning a [GRA] The inverse function is Uneitherize5

func Eitherize6

func Eitherize6[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, R any](f F) func(T0, T1, T2, T3, T4, T5) GRA

Eitherize6 converts a function with 6 parameters returning a tuple into a function with 6 parameters returning a [GRA] The inverse function is Uneitherize6

func Eitherize7

func Eitherize7[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, R any](f F) func(T0, T1, T2, T3, T4, T5, T6) GRA

Eitherize7 converts a function with 7 parameters returning a tuple into a function with 7 parameters returning a [GRA] The inverse function is Uneitherize7

func Eitherize8

func Eitherize8[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, T7, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7) GRA

Eitherize8 converts a function with 8 parameters returning a tuple into a function with 8 parameters returning a [GRA] The inverse function is Uneitherize8

func Eitherize9

func Eitherize9[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, T7, T8, R any](f F) func(T0, T1, T2, T3, T4, T5, T6, T7, T8) GRA

Eitherize9 converts a function with 9 parameters returning a tuple into a function with 9 parameters returning a [GRA] The inverse function is Uneitherize9

func Eq

func Eq[GRA ~func(context.Context) GIOA, GIOA ~func() E.Either[error, A], A any](eq EQ.Eq[E.Either[error, A]]) func(context.Context) EQ.Eq[GRA]

Eq implements the equals predicate for values contained in the IOEither monad

func Flap

func Flap[GREAB ~func(context.Context) GEAB, GREB ~func(context.Context) GEB, GEAB ~func() E.Either[error, func(A) B], GEB ~func() E.Either[error, B], B, A any](a A) func(GREAB) GREB

func Flatten

func Flatten[
	GGRA ~func(context.Context) GGIOA,
	GGIOA ~func() E.Either[error, GRA],
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],
	A any](rdr GGRA) GRA

func Fold

func Fold[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() B,

	A, B any](onLeft func(error) GRB, onRight func(A) GRB) func(GRA) GRB

func FromEither

func FromEither[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],
	A any](e E.Either[error, A]) GRA

func FromIO

func FromIO[
	GRA ~func(context.Context) GIOA,
	GIOB ~func() A,

	GIOA ~func() E.Either[error, A],

	A any](t GIOB) GRA

func FromIOEither

func FromIOEither[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any](t GIOA) GRA

func FromPredicate

func FromPredicate[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any](pred func(A) bool, onFalse func(A) error) func(A) GRA

func FromReader

func FromReader[
	GRA ~func(context.Context) GIOA,
	GR ~func(context.Context) A,
	GIOA ~func() E.Either[error, A],
	A any](r GR) GRA

func FromReaderIO

func FromReaderIO[
	GRIOEA ~func(context.Context) GIOEA,
	GIOEA ~func() E.Either[error, A],

	GRIOA ~func(context.Context) GIOA,
	GIOA ~func() A,

	A any](f func(A) GRIOA) func(A) GRIOEA

func GetOrElse

func GetOrElse[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() A,

	A any](onLeft func(error) GRB) func(GRA) GRB

func Left

func Left[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],
	A any](l error) GRA

func LeftReader

func LeftReader[
	GRA ~func(context.Context) GIOA,
	GR ~func(context.Context) error,
	GIOA ~func() E.Either[error, A],
	A any](l GR) GRA

func LeftReaderIO

func LeftReaderIO[
	GRIOEA ~func(context.Context) GIOEA,
	GIOEA ~func() E.Either[error, A],

	GRIOE ~func(context.Context) GIOE,
	GIOE ~func() error,

	A any](ma GRIOE) GRIOEA

func Let

func Let[GRS1 ~func(context.Context) GS1, GRS2 ~func(context.Context) GS2, GS1 ~func() ET.Either[error, S1], GS2 ~func() ET.Either[error, S2], S1, S2, T any](
	key func(T) func(S1) S2,
	f func(S1) T,
) func(GRS1) GRS2

Let attaches the result of a computation to a context [S1] to produce a context [S2]

func LetTo

func LetTo[GRS1 ~func(context.Context) GS1, GRS2 ~func(context.Context) GS2, GS1 ~func() ET.Either[error, S1], GS2 ~func() ET.Either[error, S2], S1, S2, B any](
	key func(B) func(S1) S2,
	b B,
) func(GRS1) GRS2

LetTo attaches the a value to a context [S1] to produce a context [S2]

func Map

func Map[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](f func(A) B) func(GRA) GRB

func MapTo

func MapTo[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](b B) func(GRA) GRB

func Memoize

func Memoize[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],
	A any](rdr GRA) GRA

Memoize computes the value of the provided monad lazily but exactly once The context used to compute the value is the context of the first call, so do not use this method if the value has a functional dependency on the content of the context

func MonadAlt

func MonadAlt[LAZY ~func() GEA, GEA ~func(context.Context) GIOA, GIOA ~func() E.Either[error, A], A any](first GEA, second LAZY) GEA

func MonadAp

func MonadAp[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GRAB ~func(context.Context) GIOAB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],
	GIOAB ~func() E.Either[error, func(A) B],

	A, B any](fab GRAB, fa GRA) GRB

MonadAp implements the `Ap` function for a reader with context. It creates a sub-context that will be canceled if any of the input operations errors out or

func MonadApPar

func MonadApPar[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GRAB ~func(context.Context) GIOAB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],
	GIOAB ~func() E.Either[error, func(A) B],

	A, B any](fab GRAB, fa GRA) GRB

MonadAp implements the `Ap` function for a reader with context. It creates a sub-context that will be canceled if any of the input operations errors out or

func MonadApSeq

func MonadApSeq[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GRAB ~func(context.Context) GIOAB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],
	GIOAB ~func() E.Either[error, func(A) B],

	A, B any](fab GRAB, fa GRA) GRB

MonadApSeq implements the `Ap` function for a reader with context. It creates a sub-context that will be canceled if any of the input operations errors out or

func MonadChain

func MonadChain[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](ma GRA, f func(A) GRB) GRB

func MonadChainEitherK

func MonadChainEitherK[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() E.Either[error, B],

	A, B any](ma GRA, f func(A) E.Either[error, B]) GRB

func MonadChainFirst

func MonadChainFirst[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](ma GRA, f func(A) GRB) GRA

func MonadChainFirstEitherK

func MonadChainFirstEitherK[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A, B any](ma GRA, f func(A) E.Either[error, B]) GRA

func MonadChainFirstIOK

func MonadChainFirstIOK[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	GIO ~func() B,

	A, B any](ma GRA, f func(A) GIO) GRA

func MonadChainIOK

func MonadChainIOK[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() E.Either[error, B],

	GIO ~func() B,

	A, B any](ma GRA, f func(A) GIO) GRB

func MonadChainReaderIOK

func MonadChainReaderIOK[
	GRB ~func(context.Context) GIOB,
	GRA ~func(context.Context) GIOA,
	GRIO ~func(context.Context) GIO,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	GIO ~func() B,

	A, B any](ma GRA, f func(A) GRIO) GRB

func MonadFlap

func MonadFlap[GREAB ~func(context.Context) GEAB, GREB ~func(context.Context) GEB, GEAB ~func() E.Either[error, func(A) B], GEB ~func() E.Either[error, B], B, A any](fab GREAB, a A) GREB

func MonadFromReaderIO

func MonadFromReaderIO[
	GRIOEA ~func(context.Context) GIOEA,
	GIOEA ~func() E.Either[error, A],

	GRIOA ~func(context.Context) GIOA,
	GIOA ~func() A,

	A any](a A, f func(A) GRIOA) GRIOEA

func MonadMap

func MonadMap[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](fa GRA, f func(A) B) GRB

func MonadMapTo

func MonadMapTo[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,

	GIOA ~func() E.Either[error, A],
	GIOB ~func() E.Either[error, B],

	A, B any](fa GRA, b B) GRB

func MonadTraverseArray

func MonadTraverseArray[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](as AS, f func(A) GRB) GRBS

MonadTraverseArray transforms an array

func MonadTraverseArrayPar

func MonadTraverseArrayPar[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](as AS, f func(A) GRB) GRBS

MonadTraverseArrayPar transforms an array

func MonadTraverseArraySeq

func MonadTraverseArraySeq[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](as AS, f func(A) GRB) GRBS

MonadTraverseArraySeq transforms an array

func MonadTraverseRecord

func MonadTraverseRecord[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](ma AS, f func(A) GRB) GRBS

MonadTraverseRecord transforms a record

func MonadTraverseRecordPar

func MonadTraverseRecordPar[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](ma AS, f func(A) GRB) GRBS

MonadTraverseRecordPar transforms a record

func MonadTraverseRecordSeq

func MonadTraverseRecordSeq[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](ma AS, f func(A) GRB) GRBS

MonadTraverseRecordSeq transforms a record

func Never

func Never[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any]() GRA

Never returns a 'ReaderIOEither' that never returns, except if its context gets canceled

func Of

func Of[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any](a A) GRA

func OrElse

func OrElse[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any](onLeft func(error) GRA) func(GRA) GRA

func OrLeft

func OrLeft[
	GRA ~func(context.Context) GIOA,
	GRB ~func(context.Context) GIOB,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() error,

	A any](onLeft func(error) GRB) func(GRA) GRA
func Right[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],
	A any](r A) GRA

func RightReader

func RightReader[
	GRA ~func(context.Context) GIOA,
	GR ~func(context.Context) A,
	GIOA ~func() E.Either[error, A],
	A any](r GR) GRA

func RightReaderIO

func RightReaderIO[
	GRIOEA ~func(context.Context) GIOEA,
	GIOEA ~func() E.Either[error, A],

	GRIOA ~func(context.Context) GIOA,
	GIOA ~func() A,

	A any](ma GRIOA) GRIOEA

func SequenceArray

func SequenceArray[
	AS ~[]A,
	GAS ~[]GRA,
	GRAS ~func(context.Context) GIOAS,
	GRA ~func(context.Context) GIOA,
	GIOAS ~func() E.Either[error, AS],
	GIOA ~func() E.Either[error, A],
	A any](ma GAS) GRAS

SequenceArray converts a homogeneous sequence of either into an either of sequence

func SequenceArrayPar

func SequenceArrayPar[
	AS ~[]A,
	GAS ~[]GRA,
	GRAS ~func(context.Context) GIOAS,
	GRA ~func(context.Context) GIOA,
	GIOAS ~func() E.Either[error, AS],
	GIOA ~func() E.Either[error, A],
	A any](ma GAS) GRAS

SequenceArrayPar converts a homogeneous sequence of either into an either of sequence

func SequenceArraySeq

func SequenceArraySeq[
	AS ~[]A,
	GAS ~[]GRA,
	GRAS ~func(context.Context) GIOAS,
	GRA ~func(context.Context) GIOA,
	GIOAS ~func() E.Either[error, AS],
	GIOA ~func() E.Either[error, A],
	A any](ma GAS) GRAS

SequenceArraySeq converts a homogeneous sequence of either into an either of sequence

func SequenceParT1

func SequenceParT1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	T1 any](
	t1 GR_T1,
) GR_TUPLE1

SequenceParT1 converts 1 readers into a reader of a [T.Tuple1].

func SequenceParT10

func SequenceParT10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9,
	T10 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
	t9 GR_T9,
	t10 GR_T10,
) GR_TUPLE10

SequenceParT10 converts 10 readers into a reader of a [T.Tuple10].

func SequenceParT2

func SequenceParT2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	T1,
	T2 any](
	t1 GR_T1,
	t2 GR_T2,
) GR_TUPLE2

SequenceParT2 converts 2 readers into a reader of a [T.Tuple2].

func SequenceParT3

func SequenceParT3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	T1,
	T2,
	T3 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
) GR_TUPLE3

SequenceParT3 converts 3 readers into a reader of a [T.Tuple3].

func SequenceParT4

func SequenceParT4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	T1,
	T2,
	T3,
	T4 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
) GR_TUPLE4

SequenceParT4 converts 4 readers into a reader of a [T.Tuple4].

func SequenceParT5

func SequenceParT5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	T1,
	T2,
	T3,
	T4,
	T5 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
) GR_TUPLE5

SequenceParT5 converts 5 readers into a reader of a [T.Tuple5].

func SequenceParT6

func SequenceParT6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
) GR_TUPLE6

SequenceParT6 converts 6 readers into a reader of a [T.Tuple6].

func SequenceParT7

func SequenceParT7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
) GR_TUPLE7

SequenceParT7 converts 7 readers into a reader of a [T.Tuple7].

func SequenceParT8

func SequenceParT8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
) GR_TUPLE8

SequenceParT8 converts 8 readers into a reader of a [T.Tuple8].

func SequenceParT9

func SequenceParT9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
	t9 GR_T9,
) GR_TUPLE9

SequenceParT9 converts 9 readers into a reader of a [T.Tuple9].

func SequenceParTuple1

func SequenceParTuple1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	T1 any](t T.Tuple1[GR_T1]) GR_TUPLE1

SequenceParTuple1 converts a [T.Tuple1] of readers into a reader of a [T.Tuple1].

func SequenceParTuple10

func SequenceParTuple10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9,
	T10 any](t T.Tuple10[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8, GR_T9, GR_T10]) GR_TUPLE10

SequenceParTuple10 converts a [T.Tuple10] of readers into a reader of a [T.Tuple10].

func SequenceParTuple2

func SequenceParTuple2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	T1,
	T2 any](t T.Tuple2[GR_T1, GR_T2]) GR_TUPLE2

SequenceParTuple2 converts a [T.Tuple2] of readers into a reader of a [T.Tuple2].

func SequenceParTuple3

func SequenceParTuple3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	T1,
	T2,
	T3 any](t T.Tuple3[GR_T1, GR_T2, GR_T3]) GR_TUPLE3

SequenceParTuple3 converts a [T.Tuple3] of readers into a reader of a [T.Tuple3].

func SequenceParTuple4

func SequenceParTuple4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	T1,
	T2,
	T3,
	T4 any](t T.Tuple4[GR_T1, GR_T2, GR_T3, GR_T4]) GR_TUPLE4

SequenceParTuple4 converts a [T.Tuple4] of readers into a reader of a [T.Tuple4].

func SequenceParTuple5

func SequenceParTuple5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	T1,
	T2,
	T3,
	T4,
	T5 any](t T.Tuple5[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5]) GR_TUPLE5

SequenceParTuple5 converts a [T.Tuple5] of readers into a reader of a [T.Tuple5].

func SequenceParTuple6

func SequenceParTuple6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6 any](t T.Tuple6[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6]) GR_TUPLE6

SequenceParTuple6 converts a [T.Tuple6] of readers into a reader of a [T.Tuple6].

func SequenceParTuple7

func SequenceParTuple7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7 any](t T.Tuple7[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7]) GR_TUPLE7

SequenceParTuple7 converts a [T.Tuple7] of readers into a reader of a [T.Tuple7].

func SequenceParTuple8

func SequenceParTuple8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8 any](t T.Tuple8[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8]) GR_TUPLE8

SequenceParTuple8 converts a [T.Tuple8] of readers into a reader of a [T.Tuple8].

func SequenceParTuple9

func SequenceParTuple9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9 any](t T.Tuple9[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8, GR_T9]) GR_TUPLE9

SequenceParTuple9 converts a [T.Tuple9] of readers into a reader of a [T.Tuple9].

func SequenceRecord

func SequenceRecord[K comparable,
	AS ~map[K]A,
	GAS ~map[K]GRA,
	GRAS ~func(context.Context) GIOAS,
	GRA ~func(context.Context) GIOA,
	GIOAS ~func() E.Either[error, AS],
	GIOA ~func() E.Either[error, A],
	A any](ma GAS) GRAS

SequenceRecord converts a homogeneous sequence of either into an either of sequence

func SequenceRecordPar

func SequenceRecordPar[K comparable,
	AS ~map[K]A,
	GAS ~map[K]GRA,
	GRAS ~func(context.Context) GIOAS,
	GRA ~func(context.Context) GIOA,
	GIOAS ~func() E.Either[error, AS],
	GIOA ~func() E.Either[error, A],
	A any](ma GAS) GRAS

SequenceRecordPar converts a homogeneous sequence of either into an either of sequence

func SequenceRecordSeq

func SequenceRecordSeq[K comparable,
	AS ~map[K]A,
	GAS ~map[K]GRA,
	GRAS ~func(context.Context) GIOAS,
	GRA ~func(context.Context) GIOA,
	GIOAS ~func() E.Either[error, AS],
	GIOA ~func() E.Either[error, A],
	A any](ma GAS) GRAS

SequenceRecordSeq converts a homogeneous sequence of either into an either of sequence

func SequenceSeqT1

func SequenceSeqT1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	T1 any](
	t1 GR_T1,
) GR_TUPLE1

SequenceSeqT1 converts 1 readers into a reader of a [T.Tuple1].

func SequenceSeqT10

func SequenceSeqT10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9,
	T10 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
	t9 GR_T9,
	t10 GR_T10,
) GR_TUPLE10

SequenceSeqT10 converts 10 readers into a reader of a [T.Tuple10].

func SequenceSeqT2

func SequenceSeqT2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	T1,
	T2 any](
	t1 GR_T1,
	t2 GR_T2,
) GR_TUPLE2

SequenceSeqT2 converts 2 readers into a reader of a [T.Tuple2].

func SequenceSeqT3

func SequenceSeqT3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	T1,
	T2,
	T3 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
) GR_TUPLE3

SequenceSeqT3 converts 3 readers into a reader of a [T.Tuple3].

func SequenceSeqT4

func SequenceSeqT4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	T1,
	T2,
	T3,
	T4 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
) GR_TUPLE4

SequenceSeqT4 converts 4 readers into a reader of a [T.Tuple4].

func SequenceSeqT5

func SequenceSeqT5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	T1,
	T2,
	T3,
	T4,
	T5 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
) GR_TUPLE5

SequenceSeqT5 converts 5 readers into a reader of a [T.Tuple5].

func SequenceSeqT6

func SequenceSeqT6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
) GR_TUPLE6

SequenceSeqT6 converts 6 readers into a reader of a [T.Tuple6].

func SequenceSeqT7

func SequenceSeqT7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
) GR_TUPLE7

SequenceSeqT7 converts 7 readers into a reader of a [T.Tuple7].

func SequenceSeqT8

func SequenceSeqT8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
) GR_TUPLE8

SequenceSeqT8 converts 8 readers into a reader of a [T.Tuple8].

func SequenceSeqT9

func SequenceSeqT9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
	t9 GR_T9,
) GR_TUPLE9

SequenceSeqT9 converts 9 readers into a reader of a [T.Tuple9].

func SequenceSeqTuple1

func SequenceSeqTuple1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	T1 any](t T.Tuple1[GR_T1]) GR_TUPLE1

SequenceSeqTuple1 converts a [T.Tuple1] of readers into a reader of a [T.Tuple1].

func SequenceSeqTuple10

func SequenceSeqTuple10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9,
	T10 any](t T.Tuple10[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8, GR_T9, GR_T10]) GR_TUPLE10

SequenceSeqTuple10 converts a [T.Tuple10] of readers into a reader of a [T.Tuple10].

func SequenceSeqTuple2

func SequenceSeqTuple2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	T1,
	T2 any](t T.Tuple2[GR_T1, GR_T2]) GR_TUPLE2

SequenceSeqTuple2 converts a [T.Tuple2] of readers into a reader of a [T.Tuple2].

func SequenceSeqTuple3

func SequenceSeqTuple3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	T1,
	T2,
	T3 any](t T.Tuple3[GR_T1, GR_T2, GR_T3]) GR_TUPLE3

SequenceSeqTuple3 converts a [T.Tuple3] of readers into a reader of a [T.Tuple3].

func SequenceSeqTuple4

func SequenceSeqTuple4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	T1,
	T2,
	T3,
	T4 any](t T.Tuple4[GR_T1, GR_T2, GR_T3, GR_T4]) GR_TUPLE4

SequenceSeqTuple4 converts a [T.Tuple4] of readers into a reader of a [T.Tuple4].

func SequenceSeqTuple5

func SequenceSeqTuple5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	T1,
	T2,
	T3,
	T4,
	T5 any](t T.Tuple5[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5]) GR_TUPLE5

SequenceSeqTuple5 converts a [T.Tuple5] of readers into a reader of a [T.Tuple5].

func SequenceSeqTuple6

func SequenceSeqTuple6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6 any](t T.Tuple6[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6]) GR_TUPLE6

SequenceSeqTuple6 converts a [T.Tuple6] of readers into a reader of a [T.Tuple6].

func SequenceSeqTuple7

func SequenceSeqTuple7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7 any](t T.Tuple7[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7]) GR_TUPLE7

SequenceSeqTuple7 converts a [T.Tuple7] of readers into a reader of a [T.Tuple7].

func SequenceSeqTuple8

func SequenceSeqTuple8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8 any](t T.Tuple8[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8]) GR_TUPLE8

SequenceSeqTuple8 converts a [T.Tuple8] of readers into a reader of a [T.Tuple8].

func SequenceSeqTuple9

func SequenceSeqTuple9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9 any](t T.Tuple9[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8, GR_T9]) GR_TUPLE9

SequenceSeqTuple9 converts a [T.Tuple9] of readers into a reader of a [T.Tuple9].

func SequenceT1

func SequenceT1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	T1 any](
	t1 GR_T1,
) GR_TUPLE1

SequenceT1 converts 1 readers into a reader of a [T.Tuple1].

func SequenceT10

func SequenceT10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9,
	T10 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
	t9 GR_T9,
	t10 GR_T10,
) GR_TUPLE10

SequenceT10 converts 10 readers into a reader of a [T.Tuple10].

func SequenceT2

func SequenceT2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	T1,
	T2 any](
	t1 GR_T1,
	t2 GR_T2,
) GR_TUPLE2

SequenceT2 converts 2 readers into a reader of a [T.Tuple2].

func SequenceT3

func SequenceT3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	T1,
	T2,
	T3 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
) GR_TUPLE3

SequenceT3 converts 3 readers into a reader of a [T.Tuple3].

func SequenceT4

func SequenceT4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	T1,
	T2,
	T3,
	T4 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
) GR_TUPLE4

SequenceT4 converts 4 readers into a reader of a [T.Tuple4].

func SequenceT5

func SequenceT5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	T1,
	T2,
	T3,
	T4,
	T5 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
) GR_TUPLE5

SequenceT5 converts 5 readers into a reader of a [T.Tuple5].

func SequenceT6

func SequenceT6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
) GR_TUPLE6

SequenceT6 converts 6 readers into a reader of a [T.Tuple6].

func SequenceT7

func SequenceT7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
) GR_TUPLE7

SequenceT7 converts 7 readers into a reader of a [T.Tuple7].

func SequenceT8

func SequenceT8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
) GR_TUPLE8

SequenceT8 converts 8 readers into a reader of a [T.Tuple8].

func SequenceT9

func SequenceT9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9 any](
	t1 GR_T1,
	t2 GR_T2,
	t3 GR_T3,
	t4 GR_T4,
	t5 GR_T5,
	t6 GR_T6,
	t7 GR_T7,
	t8 GR_T8,
	t9 GR_T9,
) GR_TUPLE9

SequenceT9 converts 9 readers into a reader of a [T.Tuple9].

func SequenceTuple1

func SequenceTuple1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	T1 any](t T.Tuple1[GR_T1]) GR_TUPLE1

SequenceTuple1 converts a [T.Tuple1] of readers into a reader of a [T.Tuple1].

func SequenceTuple10

func SequenceTuple10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9,
	T10 any](t T.Tuple10[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8, GR_T9, GR_T10]) GR_TUPLE10

SequenceTuple10 converts a [T.Tuple10] of readers into a reader of a [T.Tuple10].

func SequenceTuple2

func SequenceTuple2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	T1,
	T2 any](t T.Tuple2[GR_T1, GR_T2]) GR_TUPLE2

SequenceTuple2 converts a [T.Tuple2] of readers into a reader of a [T.Tuple2].

func SequenceTuple3

func SequenceTuple3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	T1,
	T2,
	T3 any](t T.Tuple3[GR_T1, GR_T2, GR_T3]) GR_TUPLE3

SequenceTuple3 converts a [T.Tuple3] of readers into a reader of a [T.Tuple3].

func SequenceTuple4

func SequenceTuple4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	T1,
	T2,
	T3,
	T4 any](t T.Tuple4[GR_T1, GR_T2, GR_T3, GR_T4]) GR_TUPLE4

SequenceTuple4 converts a [T.Tuple4] of readers into a reader of a [T.Tuple4].

func SequenceTuple5

func SequenceTuple5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	T1,
	T2,
	T3,
	T4,
	T5 any](t T.Tuple5[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5]) GR_TUPLE5

SequenceTuple5 converts a [T.Tuple5] of readers into a reader of a [T.Tuple5].

func SequenceTuple6

func SequenceTuple6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6 any](t T.Tuple6[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6]) GR_TUPLE6

SequenceTuple6 converts a [T.Tuple6] of readers into a reader of a [T.Tuple6].

func SequenceTuple7

func SequenceTuple7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7 any](t T.Tuple7[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7]) GR_TUPLE7

SequenceTuple7 converts a [T.Tuple7] of readers into a reader of a [T.Tuple7].

func SequenceTuple8

func SequenceTuple8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8 any](t T.Tuple8[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8]) GR_TUPLE8

SequenceTuple8 converts a [T.Tuple8] of readers into a reader of a [T.Tuple8].

func SequenceTuple9

func SequenceTuple9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	T1,
	T2,
	T3,
	T4,
	T5,
	T6,
	T7,
	T8,
	T9 any](t T.Tuple9[GR_T1, GR_T2, GR_T3, GR_T4, GR_T5, GR_T6, GR_T7, GR_T8, GR_T9]) GR_TUPLE9

SequenceTuple9 converts a [T.Tuple9] of readers into a reader of a [T.Tuple9].

func Timer

func Timer[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, time.Time],

](delay time.Duration) GRA

Timer will return the current time after an initial delay

func TraverseArray

func TraverseArray[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](f func(A) GRB) func(AS) GRBS

TraverseArray transforms an array

func TraverseArrayPar

func TraverseArrayPar[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](f func(A) GRB) func(AS) GRBS

TraverseArrayPar transforms an array

func TraverseArraySeq

func TraverseArraySeq[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](f func(A) GRB) func(AS) GRBS

TraverseArraySeq transforms an array

func TraverseArrayWithIndex

func TraverseArrayWithIndex[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](f func(int, A) GRB) func(AS) GRBS

TraverseArrayWithIndex transforms an array

func TraverseArrayWithIndexPar

func TraverseArrayWithIndexPar[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](f func(int, A) GRB) func(AS) GRBS

TraverseArrayWithIndexPar transforms an array

func TraverseArrayWithIndexSeq

func TraverseArrayWithIndexSeq[
	AS ~[]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~[]B,
	A, B any](f func(int, A) GRB) func(AS) GRBS

TraverseArrayWithIndexSeq transforms an array

func TraverseParTuple1

func TraverseParTuple1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	F1 ~func(A1) GR_T1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	A1,
	T1 any](f1 F1) func(T.Tuple1[A1]) GR_TUPLE1

TraverseParTuple1 converts a [T.Tuple1] of readers into a reader of a [T.Tuple1].

func TraverseParTuple10

func TraverseParTuple10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	F9 ~func(A9) GR_T9,
	F10 ~func(A10) GR_T10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8,
	A9,
	T9,
	A10,
	T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) GR_TUPLE10

TraverseParTuple10 converts a [T.Tuple10] of readers into a reader of a [T.Tuple10].

func TraverseParTuple2

func TraverseParTuple2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	A1,
	T1,
	A2,
	T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) GR_TUPLE2

TraverseParTuple2 converts a [T.Tuple2] of readers into a reader of a [T.Tuple2].

func TraverseParTuple3

func TraverseParTuple3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) GR_TUPLE3

TraverseParTuple3 converts a [T.Tuple3] of readers into a reader of a [T.Tuple3].

func TraverseParTuple4

func TraverseParTuple4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) GR_TUPLE4

TraverseParTuple4 converts a [T.Tuple4] of readers into a reader of a [T.Tuple4].

func TraverseParTuple5

func TraverseParTuple5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) GR_TUPLE5

TraverseParTuple5 converts a [T.Tuple5] of readers into a reader of a [T.Tuple5].

func TraverseParTuple6

func TraverseParTuple6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) GR_TUPLE6

TraverseParTuple6 converts a [T.Tuple6] of readers into a reader of a [T.Tuple6].

func TraverseParTuple7

func TraverseParTuple7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) GR_TUPLE7

TraverseParTuple7 converts a [T.Tuple7] of readers into a reader of a [T.Tuple7].

func TraverseParTuple8

func TraverseParTuple8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) GR_TUPLE8

TraverseParTuple8 converts a [T.Tuple8] of readers into a reader of a [T.Tuple8].

func TraverseParTuple9

func TraverseParTuple9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	F9 ~func(A9) GR_T9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8,
	A9,
	T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) GR_TUPLE9

TraverseParTuple9 converts a [T.Tuple9] of readers into a reader of a [T.Tuple9].

func TraverseRecord

func TraverseRecord[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](f func(A) GRB) func(AS) GRBS

TraverseRecord transforms a record

func TraverseRecordPar

func TraverseRecordPar[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](f func(A) GRB) func(AS) GRBS

TraverseRecordPar transforms a record

func TraverseRecordSeq

func TraverseRecordSeq[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](f func(A) GRB) func(AS) GRBS

TraverseRecordSeq transforms a record

func TraverseRecordWithIndex

func TraverseRecordWithIndex[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](f func(K, A) GRB) func(AS) GRBS

TraverseRecordWithIndex transforms a record

func TraverseRecordWithIndexPar

func TraverseRecordWithIndexPar[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](f func(K, A) GRB) func(AS) GRBS

TraverseRecordWithIndexPar transforms a record

func TraverseRecordWithIndexSeq

func TraverseRecordWithIndexSeq[K comparable,
	AS ~map[K]A,
	GRBS ~func(context.Context) GIOBS,
	GRB ~func(context.Context) GIOB,
	GIOBS ~func() E.Either[error, BS],
	GIOB ~func() E.Either[error, B],
	BS ~map[K]B,

	A, B any](f func(K, A) GRB) func(AS) GRBS

TraverseRecordWithIndexSeq transforms a record

func TraverseSeqTuple1

func TraverseSeqTuple1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	F1 ~func(A1) GR_T1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	A1,
	T1 any](f1 F1) func(T.Tuple1[A1]) GR_TUPLE1

TraverseSeqTuple1 converts a [T.Tuple1] of readers into a reader of a [T.Tuple1].

func TraverseSeqTuple10

func TraverseSeqTuple10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	F9 ~func(A9) GR_T9,
	F10 ~func(A10) GR_T10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8,
	A9,
	T9,
	A10,
	T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) GR_TUPLE10

TraverseSeqTuple10 converts a [T.Tuple10] of readers into a reader of a [T.Tuple10].

func TraverseSeqTuple2

func TraverseSeqTuple2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	A1,
	T1,
	A2,
	T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) GR_TUPLE2

TraverseSeqTuple2 converts a [T.Tuple2] of readers into a reader of a [T.Tuple2].

func TraverseSeqTuple3

func TraverseSeqTuple3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) GR_TUPLE3

TraverseSeqTuple3 converts a [T.Tuple3] of readers into a reader of a [T.Tuple3].

func TraverseSeqTuple4

func TraverseSeqTuple4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) GR_TUPLE4

TraverseSeqTuple4 converts a [T.Tuple4] of readers into a reader of a [T.Tuple4].

func TraverseSeqTuple5

func TraverseSeqTuple5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) GR_TUPLE5

TraverseSeqTuple5 converts a [T.Tuple5] of readers into a reader of a [T.Tuple5].

func TraverseSeqTuple6

func TraverseSeqTuple6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) GR_TUPLE6

TraverseSeqTuple6 converts a [T.Tuple6] of readers into a reader of a [T.Tuple6].

func TraverseSeqTuple7

func TraverseSeqTuple7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) GR_TUPLE7

TraverseSeqTuple7 converts a [T.Tuple7] of readers into a reader of a [T.Tuple7].

func TraverseSeqTuple8

func TraverseSeqTuple8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) GR_TUPLE8

TraverseSeqTuple8 converts a [T.Tuple8] of readers into a reader of a [T.Tuple8].

func TraverseSeqTuple9

func TraverseSeqTuple9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	F9 ~func(A9) GR_T9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8,
	A9,
	T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) GR_TUPLE9

TraverseSeqTuple9 converts a [T.Tuple9] of readers into a reader of a [T.Tuple9].

func TraverseTuple1

func TraverseTuple1[
	GR_TUPLE1 ~func(context.Context) GIO_TUPLE1,
	F1 ~func(A1) GR_T1,
	GR_T1 ~func(context.Context) GIO_T1,
	GIO_TUPLE1 ~func() E.Either[error, T.Tuple1[T1]],
	GIO_T1 ~func() E.Either[error, T1],
	A1,
	T1 any](f1 F1) func(T.Tuple1[A1]) GR_TUPLE1

TraverseTuple1 converts a [T.Tuple1] of readers into a reader of a [T.Tuple1].

func TraverseTuple10

func TraverseTuple10[
	GR_TUPLE10 ~func(context.Context) GIO_TUPLE10,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	F9 ~func(A9) GR_T9,
	F10 ~func(A10) GR_T10,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GR_T10 ~func(context.Context) GIO_T10,
	GIO_TUPLE10 ~func() E.Either[error, T.Tuple10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	GIO_T10 ~func() E.Either[error, T10],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8,
	A9,
	T9,
	A10,
	T10 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9, f10 F10) func(T.Tuple10[A1, A2, A3, A4, A5, A6, A7, A8, A9, A10]) GR_TUPLE10

TraverseTuple10 converts a [T.Tuple10] of readers into a reader of a [T.Tuple10].

func TraverseTuple2

func TraverseTuple2[
	GR_TUPLE2 ~func(context.Context) GIO_TUPLE2,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GIO_TUPLE2 ~func() E.Either[error, T.Tuple2[T1, T2]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	A1,
	T1,
	A2,
	T2 any](f1 F1, f2 F2) func(T.Tuple2[A1, A2]) GR_TUPLE2

TraverseTuple2 converts a [T.Tuple2] of readers into a reader of a [T.Tuple2].

func TraverseTuple3

func TraverseTuple3[
	GR_TUPLE3 ~func(context.Context) GIO_TUPLE3,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GIO_TUPLE3 ~func() E.Either[error, T.Tuple3[T1, T2, T3]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3 any](f1 F1, f2 F2, f3 F3) func(T.Tuple3[A1, A2, A3]) GR_TUPLE3

TraverseTuple3 converts a [T.Tuple3] of readers into a reader of a [T.Tuple3].

func TraverseTuple4

func TraverseTuple4[
	GR_TUPLE4 ~func(context.Context) GIO_TUPLE4,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GIO_TUPLE4 ~func() E.Either[error, T.Tuple4[T1, T2, T3, T4]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4 any](f1 F1, f2 F2, f3 F3, f4 F4) func(T.Tuple4[A1, A2, A3, A4]) GR_TUPLE4

TraverseTuple4 converts a [T.Tuple4] of readers into a reader of a [T.Tuple4].

func TraverseTuple5

func TraverseTuple5[
	GR_TUPLE5 ~func(context.Context) GIO_TUPLE5,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GIO_TUPLE5 ~func() E.Either[error, T.Tuple5[T1, T2, T3, T4, T5]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5) func(T.Tuple5[A1, A2, A3, A4, A5]) GR_TUPLE5

TraverseTuple5 converts a [T.Tuple5] of readers into a reader of a [T.Tuple5].

func TraverseTuple6

func TraverseTuple6[
	GR_TUPLE6 ~func(context.Context) GIO_TUPLE6,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GIO_TUPLE6 ~func() E.Either[error, T.Tuple6[T1, T2, T3, T4, T5, T6]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6) func(T.Tuple6[A1, A2, A3, A4, A5, A6]) GR_TUPLE6

TraverseTuple6 converts a [T.Tuple6] of readers into a reader of a [T.Tuple6].

func TraverseTuple7

func TraverseTuple7[
	GR_TUPLE7 ~func(context.Context) GIO_TUPLE7,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GIO_TUPLE7 ~func() E.Either[error, T.Tuple7[T1, T2, T3, T4, T5, T6, T7]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7) func(T.Tuple7[A1, A2, A3, A4, A5, A6, A7]) GR_TUPLE7

TraverseTuple7 converts a [T.Tuple7] of readers into a reader of a [T.Tuple7].

func TraverseTuple8

func TraverseTuple8[
	GR_TUPLE8 ~func(context.Context) GIO_TUPLE8,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GIO_TUPLE8 ~func() E.Either[error, T.Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8) func(T.Tuple8[A1, A2, A3, A4, A5, A6, A7, A8]) GR_TUPLE8

TraverseTuple8 converts a [T.Tuple8] of readers into a reader of a [T.Tuple8].

func TraverseTuple9

func TraverseTuple9[
	GR_TUPLE9 ~func(context.Context) GIO_TUPLE9,
	F1 ~func(A1) GR_T1,
	F2 ~func(A2) GR_T2,
	F3 ~func(A3) GR_T3,
	F4 ~func(A4) GR_T4,
	F5 ~func(A5) GR_T5,
	F6 ~func(A6) GR_T6,
	F7 ~func(A7) GR_T7,
	F8 ~func(A8) GR_T8,
	F9 ~func(A9) GR_T9,
	GR_T1 ~func(context.Context) GIO_T1,
	GR_T2 ~func(context.Context) GIO_T2,
	GR_T3 ~func(context.Context) GIO_T3,
	GR_T4 ~func(context.Context) GIO_T4,
	GR_T5 ~func(context.Context) GIO_T5,
	GR_T6 ~func(context.Context) GIO_T6,
	GR_T7 ~func(context.Context) GIO_T7,
	GR_T8 ~func(context.Context) GIO_T8,
	GR_T9 ~func(context.Context) GIO_T9,
	GIO_TUPLE9 ~func() E.Either[error, T.Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]],
	GIO_T1 ~func() E.Either[error, T1],
	GIO_T2 ~func() E.Either[error, T2],
	GIO_T3 ~func() E.Either[error, T3],
	GIO_T4 ~func() E.Either[error, T4],
	GIO_T5 ~func() E.Either[error, T5],
	GIO_T6 ~func() E.Either[error, T6],
	GIO_T7 ~func() E.Either[error, T7],
	GIO_T8 ~func() E.Either[error, T8],
	GIO_T9 ~func() E.Either[error, T9],
	A1,
	T1,
	A2,
	T2,
	A3,
	T3,
	A4,
	T4,
	A5,
	T5,
	A6,
	T6,
	A7,
	T7,
	A8,
	T8,
	A9,
	T9 any](f1 F1, f2 F2, f3 F3, f4 F4, f5 F5, f6 F6, f7 F7, f8 F8, f9 F9) func(T.Tuple9[A1, A2, A3, A4, A5, A6, A7, A8, A9]) GR_TUPLE9

TraverseTuple9 converts a [T.Tuple9] of readers into a reader of a [T.Tuple9].

func TryCatch

func TryCatch[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],

	A any](f func(context.Context) func() (A, error)) GRA

TryCatch wraps a reader returning a tuple as an error into ReaderIOEither

func Uneitherize0

func Uneitherize0[GRA ~func(context.Context) GIOA, F ~func(context.Context) (R, error), GIOA ~func() E.Either[error, R], R any](f func() GRA) F

Uneitherize0 converts a function with 0 parameters returning a [GRA] into a function with 0 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize1

func Uneitherize1[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0) (R, error), GIOA ~func() E.Either[error, R], T0, R any](f func(T0) GRA) F

Uneitherize1 converts a function with 1 parameters returning a [GRA] into a function with 1 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize10

func Uneitherize10[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, R any](f func(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) GRA) F

Uneitherize10 converts a function with 10 parameters returning a [GRA] into a function with 10 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize2

func Uneitherize2[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1) (R, error), GIOA ~func() E.Either[error, R], T0, T1, R any](f func(T0, T1) GRA) F

Uneitherize2 converts a function with 2 parameters returning a [GRA] into a function with 2 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize3

func Uneitherize3[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, R any](f func(T0, T1, T2) GRA) F

Uneitherize3 converts a function with 3 parameters returning a [GRA] into a function with 3 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize4

func Uneitherize4[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, R any](f func(T0, T1, T2, T3) GRA) F

Uneitherize4 converts a function with 4 parameters returning a [GRA] into a function with 4 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize5

func Uneitherize5[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, R any](f func(T0, T1, T2, T3, T4) GRA) F

Uneitherize5 converts a function with 5 parameters returning a [GRA] into a function with 5 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize6

func Uneitherize6[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, R any](f func(T0, T1, T2, T3, T4, T5) GRA) F

Uneitherize6 converts a function with 6 parameters returning a [GRA] into a function with 6 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize7

func Uneitherize7[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, R any](f func(T0, T1, T2, T3, T4, T5, T6) GRA) F

Uneitherize7 converts a function with 7 parameters returning a [GRA] into a function with 7 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize8

func Uneitherize8[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, T7, R any](f func(T0, T1, T2, T3, T4, T5, T6, T7) GRA) F

Uneitherize8 converts a function with 8 parameters returning a [GRA] into a function with 8 parameters returning a tuple. The first parameter is considered to be the context.Context.

func Uneitherize9

func Uneitherize9[GRA ~func(context.Context) GIOA, F ~func(context.Context, T0, T1, T2, T3, T4, T5, T6, T7, T8) (R, error), GIOA ~func() E.Either[error, R], T0, T1, T2, T3, T4, T5, T6, T7, T8, R any](f func(T0, T1, T2, T3, T4, T5, T6, T7, T8) GRA) F

Uneitherize9 converts a function with 9 parameters returning a [GRA] into a function with 9 parameters returning a tuple. The first parameter is considered to be the context.Context.

func WithContext

func WithContext[GRA ~func(context.Context) GIOA, GIOA ~func() E.Either[error, A], A any](ma GRA) GRA

withContext wraps an existing ReaderIOEither and performs a context check for cancellation before delegating

func WithLock

func WithLock[
	GRA ~func(context.Context) GIOA,
	GIOA ~func() E.Either[error, A],
	GRCANCEL ~func(context.Context) GIOCANCEL,
	GIOCANCEL ~func() E.Either[error, context.CancelFunc],
	A any](lock GRCANCEL) func(fa GRA) GRA

WithLock executes the provided IO operation in the scope of a lock

func WithResource

func WithResource[
	GRA ~func(context.Context) GIOA,
	GRR ~func(context.Context) GIOR,
	GRANY ~func(context.Context) GIOANY,
	GIOR ~func() E.Either[error, R],
	GIOA ~func() E.Either[error, A],
	GIOANY ~func() E.Either[error, ANY],
	R, A, ANY any](onCreate GRR, onRelease func(R) GRANY) func(func(R) GRA) GRA

WithResource constructs a function that creates a resource, then operates on it and then releases the resource

Source Files

bind.go bracket.go cancel.go eq.go gen.go monoid.go reader.go resource.go semigroup.go sync.go traverse.go

Version
v1.0.151 (latest)
Published
Nov 23, 2024
Platform
linux/amd64
Imports
21 packages
Last checked
4 months ago

Tools for package owners.