(
type Either[L any, R any] struct {
isLeft bool
left L
right R
}
func Fold[L any, R any, C any](e Either[L, R], ifLeft func(L) C, ifRight func(R) C): CSize: a a a
(
type Either[L any, R any] struct {
isLeft bool
left L
right R
}
func Fold[L any, R any, C any](e Either[L, R], ifLeft func(L) C, ifRight func(R) C): CU
(
(
U
(
func AndThen[A any, B any, C any](a func(A) B, b func(B) C) func A CU
either.Fold(e, left, right)... Хотя, может, и не так всрато, а я предвзят(
(
(
U
U
U
I
А
А
I
(
(