generic

package
v1.0.35 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2023 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Alt added in v1.0.31

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 added in v1.0.31

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 added in v1.0.4

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 ApSeq added in v1.0.4

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 added in v1.0.31

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 added in v1.0.31

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 added in v1.0.31

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 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 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 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 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,
	GIOA ~func() E.Either[error, A],

	GIOB ~func() 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 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 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 added in v1.0.34

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 MonadAlt added in v1.0.31

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 added in v1.0.4

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 added in v1.0.4

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 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 added in v1.0.34

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 added in v1.0.3

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 MonadTraverseRecord added in v1.0.3

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 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 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 SequenceParT1 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 SequenceSeqT1 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 TraverseArrayWithIndex added in v1.0.29

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 TraverseParTuple1 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 TraverseRecordWithIndex added in v1.0.29

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 TraverseSeqTuple1 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 added in v1.0.4

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 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 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

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL