From fc7c19c99924a70417261f8d8c99b0893746279e Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sat, 19 Jul 2025 21:10:13 +0300 Subject: [PATCH 01/44] lotup --- lotup/combinate.go | 440 ++++++++++++++++++ .../generate/combinate/generate_combinate.go | 91 ++++ .../combinate/templates/product.gotmpl | 28 ++ .../generate/combinate/templates/unzip.gotmpl | 24 + .../generate/combinate/templates/zip.gotmpl | 25 + lotup/internal/generate/of/generate_of.go | 72 +++ lotup/internal/generate/of/of.gotmpl | 14 + .../generate/tuples/generate_tuples.go | 81 ++++ .../generate/tuples/templates/class.gotmpl | 8 + .../generate/tuples/templates/unpack.gotmpl | 9 + lotup/internal/generate/types.go | 1 + lotup/of.go | 52 +++ lotup/orig_tuples.go | 282 +++++++++++ lotup/tuples.go | 104 +++++ 14 files changed, 1231 insertions(+) create mode 100644 lotup/combinate.go create mode 100644 lotup/internal/generate/combinate/generate_combinate.go create mode 100644 lotup/internal/generate/combinate/templates/product.gotmpl create mode 100644 lotup/internal/generate/combinate/templates/unzip.gotmpl create mode 100644 lotup/internal/generate/combinate/templates/zip.gotmpl create mode 100644 lotup/internal/generate/of/generate_of.go create mode 100644 lotup/internal/generate/of/of.gotmpl create mode 100644 lotup/internal/generate/tuples/generate_tuples.go create mode 100644 lotup/internal/generate/tuples/templates/class.gotmpl create mode 100644 lotup/internal/generate/tuples/templates/unpack.gotmpl create mode 100644 lotup/internal/generate/types.go create mode 100644 lotup/of.go create mode 100644 lotup/orig_tuples.go create mode 100644 lotup/tuples.go diff --git a/lotup/combinate.go b/lotup/combinate.go new file mode 100644 index 00000000..e7bf9b5d --- /dev/null +++ b/lotup/combinate.go @@ -0,0 +1,440 @@ +// Code generated by generate_combinate.go; DO NOT EDIT. +package lotup + +//go:generate go run internal/generate/combinate/generate_combinate.go + +func Zip2[ + T1, T2 any, + S1 ~[]T1, S2 ~[]T2, +](s1 S1, s2 S2) []Tuple2[T1, T2] { + size := min(len(s1), len(s2)) + res := make([]Tuple2[T1, T2], size) + for i := range size { + res[i] = Of2(s1[i], s2[i]) + } + + return res +} + +func Unzip2[ + T1, T2 any, + Slice ~[]Tuple2[T1, T2], +](ts Slice) ([]T1, []T2) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + for i, t := range ts { + s1[i], s2[i] = t.Unpack() + } + + return s1, s2 +} + +func Product2[ + T1, T2 any, + S1 ~[]T1, S2 ~[]T2, +](s1 S1, s2 S2) []Tuple2[T1, T2] { + size := len(s1) * len(s2) + res := make([]Tuple2[T1, T2], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + res = append(res, Of2(t1, t2)) + } + } + + return res +} + +func Zip3[ + T1, T2, T3 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, +](s1 S1, s2 S2, s3 S3) []Tuple3[T1, T2, T3] { + size := min(len(s1), len(s2), len(s3)) + res := make([]Tuple3[T1, T2, T3], size) + for i := range size { + res[i] = Of3(s1[i], s2[i], s3[i]) + } + + return res +} + +func Unzip3[ + T1, T2, T3 any, + Slice ~[]Tuple3[T1, T2, T3], +](ts Slice) ([]T1, []T2, []T3) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + s3 := make([]T3, size) + for i, t := range ts { + s1[i], s2[i], s3[i] = t.Unpack() + } + + return s1, s2, s3 +} + +func Product3[ + T1, T2, T3 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, +](s1 S1, s2 S2, s3 S3) []Tuple3[T1, T2, T3] { + size := len(s1) * len(s2) * len(s3) + res := make([]Tuple3[T1, T2, T3], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + for _, t3 := range s3 { + res = append(res, Of3(t1, t2, t3)) + } + } + } + + return res +} + +func Zip4[ + T1, T2, T3, T4 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, +](s1 S1, s2 S2, s3 S3, s4 S4) []Tuple4[T1, T2, T3, T4] { + size := min(len(s1), len(s2), len(s3), len(s4)) + res := make([]Tuple4[T1, T2, T3, T4], size) + for i := range size { + res[i] = Of4(s1[i], s2[i], s3[i], s4[i]) + } + + return res +} + +func Unzip4[ + T1, T2, T3, T4 any, + Slice ~[]Tuple4[T1, T2, T3, T4], +](ts Slice) ([]T1, []T2, []T3, []T4) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + s3 := make([]T3, size) + s4 := make([]T4, size) + for i, t := range ts { + s1[i], s2[i], s3[i], s4[i] = t.Unpack() + } + + return s1, s2, s3, s4 +} + +func Product4[ + T1, T2, T3, T4 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, +](s1 S1, s2 S2, s3 S3, s4 S4) []Tuple4[T1, T2, T3, T4] { + size := len(s1) * len(s2) * len(s3) * len(s4) + res := make([]Tuple4[T1, T2, T3, T4], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + for _, t3 := range s3 { + for _, t4 := range s4 { + res = append(res, Of4(t1, t2, t3, t4)) + } + } + } + } + + return res +} + +func Zip5[ + T1, T2, T3, T4, T5 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5) []Tuple5[T1, T2, T3, T4, T5] { + size := min(len(s1), len(s2), len(s3), len(s4), len(s5)) + res := make([]Tuple5[T1, T2, T3, T4, T5], size) + for i := range size { + res[i] = Of5(s1[i], s2[i], s3[i], s4[i], s5[i]) + } + + return res +} + +func Unzip5[ + T1, T2, T3, T4, T5 any, + Slice ~[]Tuple5[T1, T2, T3, T4, T5], +](ts Slice) ([]T1, []T2, []T3, []T4, []T5) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + s3 := make([]T3, size) + s4 := make([]T4, size) + s5 := make([]T5, size) + for i, t := range ts { + s1[i], s2[i], s3[i], s4[i], s5[i] = t.Unpack() + } + + return s1, s2, s3, s4, s5 +} + +func Product5[ + T1, T2, T3, T4, T5 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5) []Tuple5[T1, T2, T3, T4, T5] { + size := len(s1) * len(s2) * len(s3) * len(s4) * len(s5) + res := make([]Tuple5[T1, T2, T3, T4, T5], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + for _, t3 := range s3 { + for _, t4 := range s4 { + for _, t5 := range s5 { + res = append(res, Of5(t1, t2, t3, t4, t5)) + } + } + } + } + } + + return res +} + +func Zip6[ + T1, T2, T3, T4, T5, T6 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6) []Tuple6[T1, T2, T3, T4, T5, T6] { + size := min(len(s1), len(s2), len(s3), len(s4), len(s5), len(s6)) + res := make([]Tuple6[T1, T2, T3, T4, T5, T6], size) + for i := range size { + res[i] = Of6(s1[i], s2[i], s3[i], s4[i], s5[i], s6[i]) + } + + return res +} + +func Unzip6[ + T1, T2, T3, T4, T5, T6 any, + Slice ~[]Tuple6[T1, T2, T3, T4, T5, T6], +](ts Slice) ([]T1, []T2, []T3, []T4, []T5, []T6) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + s3 := make([]T3, size) + s4 := make([]T4, size) + s5 := make([]T5, size) + s6 := make([]T6, size) + for i, t := range ts { + s1[i], s2[i], s3[i], s4[i], s5[i], s6[i] = t.Unpack() + } + + return s1, s2, s3, s4, s5, s6 +} + +func Product6[ + T1, T2, T3, T4, T5, T6 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6) []Tuple6[T1, T2, T3, T4, T5, T6] { + size := len(s1) * len(s2) * len(s3) * len(s4) * len(s5) * len(s6) + res := make([]Tuple6[T1, T2, T3, T4, T5, T6], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + for _, t3 := range s3 { + for _, t4 := range s4 { + for _, t5 := range s5 { + for _, t6 := range s6 { + res = append(res, Of6(t1, t2, t3, t4, t5, t6)) + } + } + } + } + } + } + + return res +} + +func Zip7[ + T1, T2, T3, T4, T5, T6, T7 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, S7 ~[]T7, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6, s7 S7) []Tuple7[T1, T2, T3, T4, T5, T6, T7] { + size := min(len(s1), len(s2), len(s3), len(s4), len(s5), len(s6), len(s7)) + res := make([]Tuple7[T1, T2, T3, T4, T5, T6, T7], size) + for i := range size { + res[i] = Of7(s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i]) + } + + return res +} + +func Unzip7[ + T1, T2, T3, T4, T5, T6, T7 any, + Slice ~[]Tuple7[T1, T2, T3, T4, T5, T6, T7], +](ts Slice) ([]T1, []T2, []T3, []T4, []T5, []T6, []T7) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + s3 := make([]T3, size) + s4 := make([]T4, size) + s5 := make([]T5, size) + s6 := make([]T6, size) + s7 := make([]T7, size) + for i, t := range ts { + s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i] = t.Unpack() + } + + return s1, s2, s3, s4, s5, s6, s7 +} + +func Product7[ + T1, T2, T3, T4, T5, T6, T7 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, S7 ~[]T7, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6, s7 S7) []Tuple7[T1, T2, T3, T4, T5, T6, T7] { + size := len(s1) * len(s2) * len(s3) * len(s4) * len(s5) * len(s6) * len(s7) + res := make([]Tuple7[T1, T2, T3, T4, T5, T6, T7], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + for _, t3 := range s3 { + for _, t4 := range s4 { + for _, t5 := range s5 { + for _, t6 := range s6 { + for _, t7 := range s7 { + res = append(res, Of7(t1, t2, t3, t4, t5, t6, t7)) + } + } + } + } + } + } + } + + return res +} + +func Zip8[ + T1, T2, T3, T4, T5, T6, T7, T8 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, S7 ~[]T7, S8 ~[]T8, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6, s7 S7, s8 S8) []Tuple8[T1, T2, T3, T4, T5, T6, T7, T8] { + size := min(len(s1), len(s2), len(s3), len(s4), len(s5), len(s6), len(s7), len(s8)) + res := make([]Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], size) + for i := range size { + res[i] = Of8(s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i], s8[i]) + } + + return res +} + +func Unzip8[ + T1, T2, T3, T4, T5, T6, T7, T8 any, + Slice ~[]Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], +](ts Slice) ([]T1, []T2, []T3, []T4, []T5, []T6, []T7, []T8) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + s3 := make([]T3, size) + s4 := make([]T4, size) + s5 := make([]T5, size) + s6 := make([]T6, size) + s7 := make([]T7, size) + s8 := make([]T8, size) + for i, t := range ts { + s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i], s8[i] = t.Unpack() + } + + return s1, s2, s3, s4, s5, s6, s7, s8 +} + +func Product8[ + T1, T2, T3, T4, T5, T6, T7, T8 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, S7 ~[]T7, S8 ~[]T8, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6, s7 S7, s8 S8) []Tuple8[T1, T2, T3, T4, T5, T6, T7, T8] { + size := len(s1) * len(s2) * len(s3) * len(s4) * len(s5) * len(s6) * len(s7) * len(s8) + res := make([]Tuple8[T1, T2, T3, T4, T5, T6, T7, T8], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + for _, t3 := range s3 { + for _, t4 := range s4 { + for _, t5 := range s5 { + for _, t6 := range s6 { + for _, t7 := range s7 { + for _, t8 := range s8 { + res = append(res, Of8(t1, t2, t3, t4, t5, t6, t7, t8)) + } + } + } + } + } + } + } + } + + return res +} + +func Zip9[ + T1, T2, T3, T4, T5, T6, T7, T8, T9 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, S7 ~[]T7, S8 ~[]T8, S9 ~[]T9, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6, s7 S7, s8 S8, s9 S9) []Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9] { + size := min(len(s1), len(s2), len(s3), len(s4), len(s5), len(s6), len(s7), len(s8), len(s9)) + res := make([]Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], size) + for i := range size { + res[i] = Of9(s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i], s8[i], s9[i]) + } + + return res +} + +func Unzip9[ + T1, T2, T3, T4, T5, T6, T7, T8, T9 any, + Slice ~[]Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], +](ts Slice) ([]T1, []T2, []T3, []T4, []T5, []T6, []T7, []T8, []T9) { + size := len(ts) + + s1 := make([]T1, size) + s2 := make([]T2, size) + s3 := make([]T3, size) + s4 := make([]T4, size) + s5 := make([]T5, size) + s6 := make([]T6, size) + s7 := make([]T7, size) + s8 := make([]T8, size) + s9 := make([]T9, size) + for i, t := range ts { + s1[i], s2[i], s3[i], s4[i], s5[i], s6[i], s7[i], s8[i], s9[i] = t.Unpack() + } + + return s1, s2, s3, s4, s5, s6, s7, s8, s9 +} + +func Product9[ + T1, T2, T3, T4, T5, T6, T7, T8, T9 any, + S1 ~[]T1, S2 ~[]T2, S3 ~[]T3, S4 ~[]T4, S5 ~[]T5, S6 ~[]T6, S7 ~[]T7, S8 ~[]T8, S9 ~[]T9, +](s1 S1, s2 S2, s3 S3, s4 S4, s5 S5, s6 S6, s7 S7, s8 S8, s9 S9) []Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9] { + size := len(s1) * len(s2) * len(s3) * len(s4) * len(s5) * len(s6) * len(s7) * len(s8) * len(s9) + res := make([]Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9], 0, size) + + for _, t1 := range s1 { + for _, t2 := range s2 { + for _, t3 := range s3 { + for _, t4 := range s4 { + for _, t5 := range s5 { + for _, t6 := range s6 { + for _, t7 := range s7 { + for _, t8 := range s8 { + for _, t9 := range s9 { + res = append(res, Of9(t1, t2, t3, t4, t5, t6, t7, t8, t9)) + } + } + } + } + } + } + } + } + } + + return res +} diff --git a/lotup/internal/generate/combinate/generate_combinate.go b/lotup/internal/generate/combinate/generate_combinate.go new file mode 100644 index 00000000..9ec3114a --- /dev/null +++ b/lotup/internal/generate/combinate/generate_combinate.go @@ -0,0 +1,91 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/combinate/generate_combinate.go" + filename = "combinate.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed templates/zip.gotmpl + zipRaw string + + //go:embed templates/unzip.gotmpl + unzipRaw string + + //go:embed templates/product.gotmpl + productRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + "sub": func(x, y int) int { return x - y }, + } + zipTmpl := template.Must(template.New("class").Funcs(funcMap).Parse(zipRaw)) + unzipTmpl := template.Must(template.New("unpack").Funcs(funcMap).Parse(unzipRaw)) + productTmpl := template.Must(template.New("product").Funcs(funcMap).Parse(productRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_combinate.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + + for n := 2; n <= argumentsLimit; n++ { + err := zipTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + + err = unzipTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + + err = productTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lotup/internal/generate/combinate/templates/product.gotmpl b/lotup/internal/generate/combinate/templates/product.gotmpl new file mode 100644 index 00000000..08dde6a6 --- /dev/null +++ b/lotup/internal/generate/combinate/templates/product.gotmpl @@ -0,0 +1,28 @@ +{{- define "decls-types" }}{{ $N := .N -}} +[ + {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any, + {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}S{{ add $i 1 }} ~[]T{{ add $i 1 }}{{ end }}, +] +{{- end }} +{{- define "decls-args" }}{{ $N := .N -}} +({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}s{{ add $i 1 }} S{{ add $i 1 }}{{ end }}) +{{- end }} +{{- define "decls-tuple" }}{{ $N := .N -}} +Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] +{{- end }} +{{- $N := .N }} +func Product{{ .N }}{{ template "decls-types" . }}{{ template "decls-args" . }} []{{ template "decls-tuple" . }} { + size := {{ range $i := .N }}{{ if ne $i 0 }} * {{ end }}len(s{{ add $i 1 }}){{ end }} + res := make([]{{ template "decls-tuple" . }}, 0, size) + {{ range $i := .N }} + {{ range $i }} {{ end }}for _, t{{ add $i 1 }} := range s{{ add $i 1 }} { + {{- end }} + {{ range .N }} {{ end }}res = append(res, Of{{ .N }}( + {{- range $i := .N }}{{ if ne $i 0 }}, {{ end }}t{{ add $i 1 }}{{ end -}} + )) +{{- range $i := .N }} +{{ range (sub $N $i) }} {{ end }}} +{{- end }} + + return res +} diff --git a/lotup/internal/generate/combinate/templates/unzip.gotmpl b/lotup/internal/generate/combinate/templates/unzip.gotmpl new file mode 100644 index 00000000..329b094b --- /dev/null +++ b/lotup/internal/generate/combinate/templates/unzip.gotmpl @@ -0,0 +1,24 @@ +{{- define "decls-tuple" }}{{ $N := .N -}} +Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] +{{- end }} +{{- define "decls-types" }}{{ $N := .N -}} +[ + {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any, + Slice ~[]{{ template "decls-tuple" . }}, +] +{{- end }} +{{- define "decls-results" }}{{ $N := .N -}} +({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}[]T{{ add $i 1 }}{{ end }}) +{{- end }} +func Unzip{{ .N }}{{ template "decls-types" . }}(ts Slice) {{ template "decls-results" . }} { + size := len(ts) +{{ range $i := .N }} + s{{ add $i 1 }} := make([]T{{ add $i 1 }}, size) +{{- end }} + for i, t := range ts { + {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}s{{ add $i 1 }}[i] + {{- end }} = t.Unpack() + } + + return {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}s{{ add $i 1 }}{{ end }} +} diff --git a/lotup/internal/generate/combinate/templates/zip.gotmpl b/lotup/internal/generate/combinate/templates/zip.gotmpl new file mode 100644 index 00000000..45ba5148 --- /dev/null +++ b/lotup/internal/generate/combinate/templates/zip.gotmpl @@ -0,0 +1,25 @@ +{{- define "decls-types" }}{{ $N := .N -}} +[ + {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any, + {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}S{{ add $i 1 }} ~[]T{{ add $i 1 }}{{ end }}, +] +{{- end }} +{{- define "decls-args" }}{{ $N := .N -}} +({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}s{{ add $i 1 }} S{{ add $i 1 }}{{ end }}) +{{- end }} +{{- define "decls-tuple" }}{{ $N := .N -}} +Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] +{{- end }} +func Zip{{ .N }}{{ template "decls-types" . }}{{ template "decls-args" . }} []{{ template "decls-tuple" . }} { + size := min( + {{- range $i := .N }}{{ if ne $i 0 }}, {{ end }}len(s{{ add $i 1 }}){{ end -}} + ) + res := make([]{{ template "decls-tuple" . }}, size) + for i := range size { + res[i] = Of{{ .N }}( + {{- range $i := .N }}{{ if ne $i 0 }}, {{ end }}s{{ add $i 1 }}[i]{{ end -}} + ) + } + + return res +} diff --git a/lotup/internal/generate/of/generate_of.go b/lotup/internal/generate/of/generate_of.go new file mode 100644 index 00000000..dcb75e51 --- /dev/null +++ b/lotup/internal/generate/of/generate_of.go @@ -0,0 +1,72 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/of/generate_of.go" + filename = "of.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed of.gotmpl + ofRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + } + monadTmpl := template.Must(template.New("apply").Funcs(funcMap).Parse(ofRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_combinate.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + + for n := 2; n <= argumentsLimit; n++ { + err := monadTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lotup/internal/generate/of/of.gotmpl b/lotup/internal/generate/of/of.gotmpl new file mode 100644 index 00000000..2ff922be --- /dev/null +++ b/lotup/internal/generate/of/of.gotmpl @@ -0,0 +1,14 @@ +{{- define "decls-types" }}{{ $N := .N -}} +[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any] +{{- end }} +{{- define "decls-args" }}{{ $N := .N -}} +({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}v{{ add $i 1 }} T{{ add $i 1 }}{{ end }}) +{{- end }} +{{- define "decls-tuple" }}{{ $N := .N -}} +Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] +{{- end }} +func Of{{ .N }}{{ template "decls-types" . }}{{ template "decls-args" . }} {{ template "decls-tuple" . }} { + return {{ template "decls-tuple" . }}{ + {{ range $i := .N }}{{if ne $i 0}} {{end}}V{{ add $i 1 }}: v{{ add $i 1 }},{{ end }} + } +} diff --git a/lotup/internal/generate/tuples/generate_tuples.go b/lotup/internal/generate/tuples/generate_tuples.go new file mode 100644 index 00000000..ce4c8b3b --- /dev/null +++ b/lotup/internal/generate/tuples/generate_tuples.go @@ -0,0 +1,81 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/tuples/generate_combinate.go" + filename = "tuples.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed templates/class.gotmpl + classRaw string + + //go:embed templates/unpack.gotmpl + unpackRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + } + classTmpl := template.Must(template.New("class").Funcs(funcMap).Parse(classRaw)) + unpackTmpl := template.Must(template.New("unpack").Funcs(funcMap).Parse(unpackRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_combinate.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + + for n := 2; n <= argumentsLimit; n++ { + err := classTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + + err = unpackTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lotup/internal/generate/tuples/templates/class.gotmpl b/lotup/internal/generate/tuples/templates/class.gotmpl new file mode 100644 index 00000000..f71dde98 --- /dev/null +++ b/lotup/internal/generate/tuples/templates/class.gotmpl @@ -0,0 +1,8 @@ +{{- define "tuple-type" }}{{ $N := .N -}} +Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any] +{{- end }} +type {{ template "tuple-type" . }} struct { +{{- range $i := .N }} + V{{ add $i 1 }} T{{ add $i 1 }} +{{- end }} +} diff --git a/lotup/internal/generate/tuples/templates/unpack.gotmpl b/lotup/internal/generate/tuples/templates/unpack.gotmpl new file mode 100644 index 00000000..414067d3 --- /dev/null +++ b/lotup/internal/generate/tuples/templates/unpack.gotmpl @@ -0,0 +1,9 @@ +{{- define "tuple-type" }}{{ $N := .N -}} +Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] +{{- end }} +{{- define "decls-types" }}{{ $N := .N -}} +({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}) +{{- end }} +func (t {{ template "tuple-type" . }}) Unpack() {{ template "decls-types" . }} { + return {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}t.V{{ add $i 1 }}{{ end }} +} diff --git a/lotup/internal/generate/types.go b/lotup/internal/generate/types.go new file mode 100644 index 00000000..06ab7d0f --- /dev/null +++ b/lotup/internal/generate/types.go @@ -0,0 +1 @@ +package main diff --git a/lotup/of.go b/lotup/of.go new file mode 100644 index 00000000..199d031e --- /dev/null +++ b/lotup/of.go @@ -0,0 +1,52 @@ +// Code generated by generate_combinate.go; DO NOT EDIT. +package lotup + +//go:generate go run internal/generate/of/generate_of.go + +func Of2[T1, T2 any](v1 T1, v2 T2) Tuple2[T1, T2] { + return Tuple2[T1, T2]{ + V1: v1, V2: v2, + } +} + +func Of3[T1, T2, T3 any](v1 T1, v2 T2, v3 T3) Tuple3[T1, T2, T3] { + return Tuple3[T1, T2, T3]{ + V1: v1, V2: v2, V3: v3, + } +} + +func Of4[T1, T2, T3, T4 any](v1 T1, v2 T2, v3 T3, v4 T4) Tuple4[T1, T2, T3, T4] { + return Tuple4[T1, T2, T3, T4]{ + V1: v1, V2: v2, V3: v3, V4: v4, + } +} + +func Of5[T1, T2, T3, T4, T5 any](v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) Tuple5[T1, T2, T3, T4, T5] { + return Tuple5[T1, T2, T3, T4, T5]{ + V1: v1, V2: v2, V3: v3, V4: v4, V5: v5, + } +} + +func Of6[T1, T2, T3, T4, T5, T6 any](v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) Tuple6[T1, T2, T3, T4, T5, T6] { + return Tuple6[T1, T2, T3, T4, T5, T6]{ + V1: v1, V2: v2, V3: v3, V4: v4, V5: v5, V6: v6, + } +} + +func Of7[T1, T2, T3, T4, T5, T6, T7 any](v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) Tuple7[T1, T2, T3, T4, T5, T6, T7] { + return Tuple7[T1, T2, T3, T4, T5, T6, T7]{ + V1: v1, V2: v2, V3: v3, V4: v4, V5: v5, V6: v6, V7: v7, + } +} + +func Of8[T1, T2, T3, T4, T5, T6, T7, T8 any](v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) Tuple8[T1, T2, T3, T4, T5, T6, T7, T8] { + return Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]{ + V1: v1, V2: v2, V3: v3, V4: v4, V5: v5, V6: v6, V7: v7, V8: v8, + } +} + +func Of9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9] { + return Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]{ + V1: v1, V2: v2, V3: v3, V4: v4, V5: v5, V6: v6, V7: v7, V8: v8, V9: v9, + } +} diff --git a/lotup/orig_tuples.go b/lotup/orig_tuples.go new file mode 100644 index 00000000..c797c4b0 --- /dev/null +++ b/lotup/orig_tuples.go @@ -0,0 +1,282 @@ +// Code generated by generate_combinate.go; DO NOT EDIT. +package lotup + +// CrossJoin2 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin2[A, B any](listA []A, listB []B) []Tuple2[A, B] { + return CrossJoinBy2(listA, listB, T2[A, B]) +} + +// CrossJoin3 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin3[A, B, C any](listA []A, listB []B, listC []C) []Tuple3[A, B, C] { + return CrossJoinBy3(listA, listB, listC, T3[A, B, C]) +} + +// CrossJoin4 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin4[A, B, C, D any](listA []A, listB []B, listC []C, listD []D) []Tuple4[A, B, C, D] { + return CrossJoinBy4(listA, listB, listC, listD, T4[A, B, C, D]) +} + +// CrossJoin5 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin5[A, B, C, D, E any](listA []A, listB []B, listC []C, listD []D, listE []E) []Tuple5[A, B, C, D, E] { + return CrossJoinBy5(listA, listB, listC, listD, listE, T5[A, B, C, D, E]) +} + +// CrossJoin6 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin6[A, B, C, D, E, F any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F) []Tuple6[A, B, C, D, E, F] { + return CrossJoinBy6(listA, listB, listC, listD, listE, listF, T6[A, B, C, D, E, F]) +} + +// CrossJoin7 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin7[A, B, C, D, E, F, G any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G) []Tuple7[A, B, C, D, E, F, G] { + return CrossJoinBy7(listA, listB, listC, listD, listE, listF, listG, T7[A, B, C, D, E, F, G]) +} + +// CrossJoin8 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin8[A, B, C, D, E, F, G, H any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H) []Tuple8[A, B, C, D, E, F, G, H] { + return CrossJoinBy8(listA, listB, listC, listD, listE, listF, listG, listH, T8[A, B, C, D, E, F, G, H]) +} + +// CrossJoin9 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. +// It returns an empty list if a list is empty. +func CrossJoin9[A, B, C, D, E, F, G, H, I any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H, listI []I) []Tuple9[A, B, C, D, E, F, G, H, I] { + return CrossJoinBy9(listA, listB, listC, listD, listE, listF, listG, listH, listI, T9[A, B, C, D, E, F, G, H, I]) +} + +// CrossJoinBy2 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy2[A, B, Out any](listA []A, listB []B, project func(a A, b B) Out) []Out { + size := len(listA) * len(listB) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + result = append(result, project(a, b)) + } + } + + return result +} + +// CrossJoinBy3 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy3[A, B, C, Out any](listA []A, listB []B, listC []C, project func(a A, b B, c C) Out) []Out { + size := len(listA) * len(listB) * len(listC) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + for _, c := range listC { + result = append(result, project(a, b, c)) + } + } + } + + return result +} + +// CrossJoinBy4 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy4[A, B, C, D, Out any](listA []A, listB []B, listC []C, listD []D, project func(a A, b B, c C, d D) Out) []Out { + size := len(listA) * len(listB) * len(listC) * len(listD) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + for _, c := range listC { + for _, d := range listD { + result = append(result, project(a, b, c, d)) + } + } + } + } + + return result +} + +// CrossJoinBy5 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy5[A, B, C, D, E, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, project func(a A, b B, c C, d D, e E) Out) []Out { + size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + for _, c := range listC { + for _, d := range listD { + for _, e := range listE { + result = append(result, project(a, b, c, d, e)) + } + } + } + } + } + + return result +} + +// CrossJoinBy6 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy6[A, B, C, D, E, F, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, project func(a A, b B, c C, d D, e E, f F) Out) []Out { + size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + for _, c := range listC { + for _, d := range listD { + for _, e := range listE { + for _, f := range listF { + result = append(result, project(a, b, c, d, e, f)) + } + } + } + } + } + } + + return result +} + +// CrossJoinBy7 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy7[A, B, C, D, E, F, G, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, project func(a A, b B, c C, d D, e E, f F, g G) Out) []Out { + size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) * len(listG) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + for _, c := range listC { + for _, d := range listD { + for _, e := range listE { + for _, f := range listF { + for _, g := range listG { + result = append(result, project(a, b, c, d, e, f, g)) + } + } + } + } + } + } + } + + return result +} + +// CrossJoinBy8 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy8[A, B, C, D, E, F, G, H, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H, project func(a A, b B, c C, d D, e E, f F, g G, h H) Out) []Out { + size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) * len(listG) * len(listH) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + for _, c := range listC { + for _, d := range listD { + for _, e := range listE { + for _, f := range listF { + for _, g := range listG { + for _, h := range listH { + result = append(result, project(a, b, c, d, e, f, g, h)) + } + } + } + } + } + } + } + } + + return result +} + +// CrossJoinBy9 combines every items from one list with every items from others. +// It is the cartesian product of lists received as arguments. The project function +// is used to create the output values. +// It returns an empty list if a list is empty. +func CrossJoinBy9[A, B, C, D, E, F, G, H, I, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H, listI []I, project func(a A, b B, c C, d D, e E, f F, g G, h H, i I) Out) []Out { + size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) * len(listG) * len(listH) * len(listI) + if size == 0 { + return []Out{} + } + + result := make([]Out, 0, size) + + for _, a := range listA { + for _, b := range listB { + for _, c := range listC { + for _, d := range listD { + for _, e := range listE { + for _, f := range listF { + for _, g := range listG { + for _, h := range listH { + for _, i := range listI { + result = append(result, project(a, b, c, d, e, f, g, h, i)) + } + } + } + } + } + } + } + } + } + + return result +} diff --git a/lotup/tuples.go b/lotup/tuples.go new file mode 100644 index 00000000..812bfd8c --- /dev/null +++ b/lotup/tuples.go @@ -0,0 +1,104 @@ +// Code generated by generate_combinate.go; DO NOT EDIT. +package lotup + +//go:generate go run internal/generate/tuples/generate_tuples.go + +type Tuple2[T1, T2 any] struct { + V1 T1 + V2 T2 +} + +func (t Tuple2[T1, T2]) Unpack() (T1, T2) { + return t.V1, t.V2 +} + +type Tuple3[T1, T2, T3 any] struct { + V1 T1 + V2 T2 + V3 T3 +} + +func (t Tuple3[T1, T2, T3]) Unpack() (T1, T2, T3) { + return t.V1, t.V2, t.V3 +} + +type Tuple4[T1, T2, T3, T4 any] struct { + V1 T1 + V2 T2 + V3 T3 + V4 T4 +} + +func (t Tuple4[T1, T2, T3, T4]) Unpack() (T1, T2, T3, T4) { + return t.V1, t.V2, t.V3, t.V4 +} + +type Tuple5[T1, T2, T3, T4, T5 any] struct { + V1 T1 + V2 T2 + V3 T3 + V4 T4 + V5 T5 +} + +func (t Tuple5[T1, T2, T3, T4, T5]) Unpack() (T1, T2, T3, T4, T5) { + return t.V1, t.V2, t.V3, t.V4, t.V5 +} + +type Tuple6[T1, T2, T3, T4, T5, T6 any] struct { + V1 T1 + V2 T2 + V3 T3 + V4 T4 + V5 T5 + V6 T6 +} + +func (t Tuple6[T1, T2, T3, T4, T5, T6]) Unpack() (T1, T2, T3, T4, T5, T6) { + return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6 +} + +type Tuple7[T1, T2, T3, T4, T5, T6, T7 any] struct { + V1 T1 + V2 T2 + V3 T3 + V4 T4 + V5 T5 + V6 T6 + V7 T7 +} + +func (t Tuple7[T1, T2, T3, T4, T5, T6, T7]) Unpack() (T1, T2, T3, T4, T5, T6, T7) { + return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6, t.V7 +} + +type Tuple8[T1, T2, T3, T4, T5, T6, T7, T8 any] struct { + V1 T1 + V2 T2 + V3 T3 + V4 T4 + V5 T5 + V6 T6 + V7 T7 + V8 T8 +} + +func (t Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]) Unpack() (T1, T2, T3, T4, T5, T6, T7, T8) { + return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6, t.V7, t.V8 +} + +type Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct { + V1 T1 + V2 T2 + V3 T3 + V4 T4 + V5 T5 + V6 T6 + V7 T7 + V8 T8 + V9 T9 +} + +func (t Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Unpack() (T1, T2, T3, T4, T5, T6, T7, T8, T9) { + return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6, t.V7, t.V8, t.V9 +} From 5e24c1cdd99f77842db4210e7adfeb00ff2d3bc6 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sat, 19 Jul 2025 21:10:20 +0300 Subject: [PATCH 02/44] loset --- loset/set.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 loset/set.go diff --git a/loset/set.go b/loset/set.go new file mode 100644 index 00000000..3b3e8cf0 --- /dev/null +++ b/loset/set.go @@ -0,0 +1,35 @@ +package loset + +import "iter" + +type Set[T comparable] = map[T]struct{} + +func FromSlice[T comparable, Slice ~[]T](xs Slice) Set[T] { + set := make(Set[T], len(xs)) + + for _, x := range xs { + set[x] = struct{}{} + } + + return set +} + +func Collect[T comparable, Seq iter.Seq[T]](xs Seq) Set[T] { + set := make(Set[T]) + + for x := range xs { + set[x] = struct{}{} + } + + return set +} + +func ToSlice[T comparable, S ~Set[T]](set S) []T { + slice := make([]T, 0, len(set)) + + for x := range set { + slice = append(slice, x) + } + + return slice +} From 5c5633cdc2de0e25993cef971626ed27ef80db56 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sat, 19 Jul 2025 21:11:27 +0300 Subject: [PATCH 03/44] fix lotup --- lotup/orig_tuples.go | 282 ------------------------------------------- 1 file changed, 282 deletions(-) delete mode 100644 lotup/orig_tuples.go diff --git a/lotup/orig_tuples.go b/lotup/orig_tuples.go deleted file mode 100644 index c797c4b0..00000000 --- a/lotup/orig_tuples.go +++ /dev/null @@ -1,282 +0,0 @@ -// Code generated by generate_combinate.go; DO NOT EDIT. -package lotup - -// CrossJoin2 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin2[A, B any](listA []A, listB []B) []Tuple2[A, B] { - return CrossJoinBy2(listA, listB, T2[A, B]) -} - -// CrossJoin3 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin3[A, B, C any](listA []A, listB []B, listC []C) []Tuple3[A, B, C] { - return CrossJoinBy3(listA, listB, listC, T3[A, B, C]) -} - -// CrossJoin4 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin4[A, B, C, D any](listA []A, listB []B, listC []C, listD []D) []Tuple4[A, B, C, D] { - return CrossJoinBy4(listA, listB, listC, listD, T4[A, B, C, D]) -} - -// CrossJoin5 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin5[A, B, C, D, E any](listA []A, listB []B, listC []C, listD []D, listE []E) []Tuple5[A, B, C, D, E] { - return CrossJoinBy5(listA, listB, listC, listD, listE, T5[A, B, C, D, E]) -} - -// CrossJoin6 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin6[A, B, C, D, E, F any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F) []Tuple6[A, B, C, D, E, F] { - return CrossJoinBy6(listA, listB, listC, listD, listE, listF, T6[A, B, C, D, E, F]) -} - -// CrossJoin7 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin7[A, B, C, D, E, F, G any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G) []Tuple7[A, B, C, D, E, F, G] { - return CrossJoinBy7(listA, listB, listC, listD, listE, listF, listG, T7[A, B, C, D, E, F, G]) -} - -// CrossJoin8 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin8[A, B, C, D, E, F, G, H any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H) []Tuple8[A, B, C, D, E, F, G, H] { - return CrossJoinBy8(listA, listB, listC, listD, listE, listF, listG, listH, T8[A, B, C, D, E, F, G, H]) -} - -// CrossJoin9 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. -// It returns an empty list if a list is empty. -func CrossJoin9[A, B, C, D, E, F, G, H, I any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H, listI []I) []Tuple9[A, B, C, D, E, F, G, H, I] { - return CrossJoinBy9(listA, listB, listC, listD, listE, listF, listG, listH, listI, T9[A, B, C, D, E, F, G, H, I]) -} - -// CrossJoinBy2 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy2[A, B, Out any](listA []A, listB []B, project func(a A, b B) Out) []Out { - size := len(listA) * len(listB) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - result = append(result, project(a, b)) - } - } - - return result -} - -// CrossJoinBy3 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy3[A, B, C, Out any](listA []A, listB []B, listC []C, project func(a A, b B, c C) Out) []Out { - size := len(listA) * len(listB) * len(listC) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - for _, c := range listC { - result = append(result, project(a, b, c)) - } - } - } - - return result -} - -// CrossJoinBy4 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy4[A, B, C, D, Out any](listA []A, listB []B, listC []C, listD []D, project func(a A, b B, c C, d D) Out) []Out { - size := len(listA) * len(listB) * len(listC) * len(listD) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - for _, c := range listC { - for _, d := range listD { - result = append(result, project(a, b, c, d)) - } - } - } - } - - return result -} - -// CrossJoinBy5 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy5[A, B, C, D, E, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, project func(a A, b B, c C, d D, e E) Out) []Out { - size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - for _, c := range listC { - for _, d := range listD { - for _, e := range listE { - result = append(result, project(a, b, c, d, e)) - } - } - } - } - } - - return result -} - -// CrossJoinBy6 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy6[A, B, C, D, E, F, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, project func(a A, b B, c C, d D, e E, f F) Out) []Out { - size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - for _, c := range listC { - for _, d := range listD { - for _, e := range listE { - for _, f := range listF { - result = append(result, project(a, b, c, d, e, f)) - } - } - } - } - } - } - - return result -} - -// CrossJoinBy7 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy7[A, B, C, D, E, F, G, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, project func(a A, b B, c C, d D, e E, f F, g G) Out) []Out { - size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) * len(listG) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - for _, c := range listC { - for _, d := range listD { - for _, e := range listE { - for _, f := range listF { - for _, g := range listG { - result = append(result, project(a, b, c, d, e, f, g)) - } - } - } - } - } - } - } - - return result -} - -// CrossJoinBy8 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy8[A, B, C, D, E, F, G, H, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H, project func(a A, b B, c C, d D, e E, f F, g G, h H) Out) []Out { - size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) * len(listG) * len(listH) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - for _, c := range listC { - for _, d := range listD { - for _, e := range listE { - for _, f := range listF { - for _, g := range listG { - for _, h := range listH { - result = append(result, project(a, b, c, d, e, f, g, h)) - } - } - } - } - } - } - } - } - - return result -} - -// CrossJoinBy9 combines every items from one list with every items from others. -// It is the cartesian product of lists received as arguments. The project function -// is used to create the output values. -// It returns an empty list if a list is empty. -func CrossJoinBy9[A, B, C, D, E, F, G, H, I, Out any](listA []A, listB []B, listC []C, listD []D, listE []E, listF []F, listG []G, listH []H, listI []I, project func(a A, b B, c C, d D, e E, f F, g G, h H, i I) Out) []Out { - size := len(listA) * len(listB) * len(listC) * len(listD) * len(listE) * len(listF) * len(listG) * len(listH) * len(listI) - if size == 0 { - return []Out{} - } - - result := make([]Out, 0, size) - - for _, a := range listA { - for _, b := range listB { - for _, c := range listC { - for _, d := range listD { - for _, e := range listE { - for _, f := range listF { - for _, g := range listG { - for _, h := range listH { - for _, i := range listI { - result = append(result, project(a, b, c, d, e, f, g, h, i)) - } - } - } - } - } - } - } - } - } - - return result -} From d7fffbd652ef4583c6c32a7d836a22f6cc330635 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sat, 19 Jul 2025 22:02:19 +0300 Subject: [PATCH 04/44] fix lotup --- lotup/internal/generate/combinate/templates/product.gotmpl | 4 ++-- lotup/internal/generate/of/generate_of.go | 2 +- lotup/internal/generate/tuples/generate_tuples.go | 4 ++-- lotup/of.go | 2 +- lotup/tuples.go | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lotup/internal/generate/combinate/templates/product.gotmpl b/lotup/internal/generate/combinate/templates/product.gotmpl index 08dde6a6..ad9dafdb 100644 --- a/lotup/internal/generate/combinate/templates/product.gotmpl +++ b/lotup/internal/generate/combinate/templates/product.gotmpl @@ -14,9 +14,9 @@ Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ e func Product{{ .N }}{{ template "decls-types" . }}{{ template "decls-args" . }} []{{ template "decls-tuple" . }} { size := {{ range $i := .N }}{{ if ne $i 0 }} * {{ end }}len(s{{ add $i 1 }}){{ end }} res := make([]{{ template "decls-tuple" . }}, 0, size) - {{ range $i := .N }} +{{ range $i := .N }} {{ range $i }} {{ end }}for _, t{{ add $i 1 }} := range s{{ add $i 1 }} { - {{- end }} +{{- end }} {{ range .N }} {{ end }}res = append(res, Of{{ .N }}( {{- range $i := .N }}{{ if ne $i 0 }}, {{ end }}t{{ add $i 1 }}{{ end -}} )) diff --git a/lotup/internal/generate/of/generate_of.go b/lotup/internal/generate/of/generate_of.go index dcb75e51..79668799 100644 --- a/lotup/internal/generate/of/generate_of.go +++ b/lotup/internal/generate/of/generate_of.go @@ -43,7 +43,7 @@ func main() { var buf bytes.Buffer - buf.WriteString("// Code generated by generate_combinate.go; DO NOT EDIT.\n") + buf.WriteString("// Code generated by generate_of.go; DO NOT EDIT.\n") buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) diff --git a/lotup/internal/generate/tuples/generate_tuples.go b/lotup/internal/generate/tuples/generate_tuples.go index ce4c8b3b..d291b57e 100644 --- a/lotup/internal/generate/tuples/generate_tuples.go +++ b/lotup/internal/generate/tuples/generate_tuples.go @@ -16,7 +16,7 @@ import ( ) const ( - monadGeneratorPath = "internal/generate/tuples/generate_combinate.go" + monadGeneratorPath = "internal/generate/tuples/generate_tuples.go" filename = "tuples.go" ownerWritePermission = 0o644 @@ -47,7 +47,7 @@ func main() { var buf bytes.Buffer - buf.WriteString("// Code generated by generate_combinate.go; DO NOT EDIT.\n") + buf.WriteString("// Code generated by generate_tuples.go; DO NOT EDIT.\n") buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) diff --git a/lotup/of.go b/lotup/of.go index 199d031e..8d247440 100644 --- a/lotup/of.go +++ b/lotup/of.go @@ -1,4 +1,4 @@ -// Code generated by generate_combinate.go; DO NOT EDIT. +// Code generated by generate_of.go; DO NOT EDIT. package lotup //go:generate go run internal/generate/of/generate_of.go diff --git a/lotup/tuples.go b/lotup/tuples.go index 812bfd8c..21ef491f 100644 --- a/lotup/tuples.go +++ b/lotup/tuples.go @@ -1,4 +1,4 @@ -// Code generated by generate_combinate.go; DO NOT EDIT. +// Code generated by generate_tuples.go; DO NOT EDIT. package lotup //go:generate go run internal/generate/tuples/generate_tuples.go From 19b30826886ccf45aa86ca051f634e698f4c0a9b Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 00:25:50 +0300 Subject: [PATCH 05/44] fix lotup --- lotup/internal/generate/combinate/generate_combinate.go | 4 ++-- lotup/internal/generate/combinate/templates/product.gotmpl | 6 +++--- lotup/internal/generate/combinate/templates/unzip.gotmpl | 6 +++--- lotup/internal/generate/combinate/templates/zip.gotmpl | 6 +++--- lotup/internal/generate/of/generate_of.go | 4 ++-- lotup/internal/generate/of/of.gotmpl | 6 +++--- lotup/internal/generate/tuples/templates/class.gotmpl | 2 +- lotup/internal/generate/tuples/templates/unpack.gotmpl | 4 ++-- lotup/internal/generate/types.go | 1 - 9 files changed, 19 insertions(+), 20 deletions(-) delete mode 100644 lotup/internal/generate/types.go diff --git a/lotup/internal/generate/combinate/generate_combinate.go b/lotup/internal/generate/combinate/generate_combinate.go index 9ec3114a..9bed2305 100644 --- a/lotup/internal/generate/combinate/generate_combinate.go +++ b/lotup/internal/generate/combinate/generate_combinate.go @@ -44,8 +44,8 @@ func main() { "add": func(x, y int) int { return x + y }, "sub": func(x, y int) int { return x - y }, } - zipTmpl := template.Must(template.New("class").Funcs(funcMap).Parse(zipRaw)) - unzipTmpl := template.Must(template.New("unpack").Funcs(funcMap).Parse(unzipRaw)) + zipTmpl := template.Must(template.New("zip").Funcs(funcMap).Parse(zipRaw)) + unzipTmpl := template.Must(template.New("unzip").Funcs(funcMap).Parse(unzipRaw)) productTmpl := template.Must(template.New("product").Funcs(funcMap).Parse(productRaw)) pkg := detectPackageName() diff --git a/lotup/internal/generate/combinate/templates/product.gotmpl b/lotup/internal/generate/combinate/templates/product.gotmpl index ad9dafdb..71cdf35b 100644 --- a/lotup/internal/generate/combinate/templates/product.gotmpl +++ b/lotup/internal/generate/combinate/templates/product.gotmpl @@ -1,13 +1,13 @@ -{{- define "decls-types" }}{{ $N := .N -}} +{{- define "decls-types" -}} [ {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any, {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}S{{ add $i 1 }} ~[]T{{ add $i 1 }}{{ end }}, ] {{- end }} -{{- define "decls-args" }}{{ $N := .N -}} +{{- define "decls-args" -}} ({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}s{{ add $i 1 }} S{{ add $i 1 }}{{ end }}) {{- end }} -{{- define "decls-tuple" }}{{ $N := .N -}} +{{- define "decls-tuple" -}} Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] {{- end }} {{- $N := .N }} diff --git a/lotup/internal/generate/combinate/templates/unzip.gotmpl b/lotup/internal/generate/combinate/templates/unzip.gotmpl index 329b094b..964eb41b 100644 --- a/lotup/internal/generate/combinate/templates/unzip.gotmpl +++ b/lotup/internal/generate/combinate/templates/unzip.gotmpl @@ -1,13 +1,13 @@ -{{- define "decls-tuple" }}{{ $N := .N -}} +{{- define "decls-tuple" -}} Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] {{- end }} -{{- define "decls-types" }}{{ $N := .N -}} +{{- define "decls-types" -}} [ {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any, Slice ~[]{{ template "decls-tuple" . }}, ] {{- end }} -{{- define "decls-results" }}{{ $N := .N -}} +{{- define "decls-results" -}} ({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}[]T{{ add $i 1 }}{{ end }}) {{- end }} func Unzip{{ .N }}{{ template "decls-types" . }}(ts Slice) {{ template "decls-results" . }} { diff --git a/lotup/internal/generate/combinate/templates/zip.gotmpl b/lotup/internal/generate/combinate/templates/zip.gotmpl index 45ba5148..9759ebfd 100644 --- a/lotup/internal/generate/combinate/templates/zip.gotmpl +++ b/lotup/internal/generate/combinate/templates/zip.gotmpl @@ -1,13 +1,13 @@ -{{- define "decls-types" }}{{ $N := .N -}} +{{- define "decls-types" -}} [ {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any, {{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}S{{ add $i 1 }} ~[]T{{ add $i 1 }}{{ end }}, ] {{- end }} -{{- define "decls-args" }}{{ $N := .N -}} +{{- define "decls-args" -}} ({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}s{{ add $i 1 }} S{{ add $i 1 }}{{ end }}) {{- end }} -{{- define "decls-tuple" }}{{ $N := .N -}} +{{- define "decls-tuple" -}} Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] {{- end }} func Zip{{ .N }}{{ template "decls-types" . }}{{ template "decls-args" . }} []{{ template "decls-tuple" . }} { diff --git a/lotup/internal/generate/of/generate_of.go b/lotup/internal/generate/of/generate_of.go index 79668799..a935d68f 100644 --- a/lotup/internal/generate/of/generate_of.go +++ b/lotup/internal/generate/of/generate_of.go @@ -37,7 +37,7 @@ func main() { funcMap := template.FuncMap{ "add": func(x, y int) int { return x + y }, } - monadTmpl := template.Must(template.New("apply").Funcs(funcMap).Parse(ofRaw)) + ofTmpl := template.Must(template.New("of").Funcs(funcMap).Parse(ofRaw)) pkg := detectPackageName() @@ -48,7 +48,7 @@ func main() { buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) for n := 2; n <= argumentsLimit; n++ { - err := monadTmpl.Execute(&buf, Variant{N: n}) + err := ofTmpl.Execute(&buf, Variant{N: n}) if err != nil { panic(err) } diff --git a/lotup/internal/generate/of/of.gotmpl b/lotup/internal/generate/of/of.gotmpl index 2ff922be..e376feb0 100644 --- a/lotup/internal/generate/of/of.gotmpl +++ b/lotup/internal/generate/of/of.gotmpl @@ -1,10 +1,10 @@ -{{- define "decls-types" }}{{ $N := .N -}} +{{- define "decls-types" -}} [{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any] {{- end }} -{{- define "decls-args" }}{{ $N := .N -}} +{{- define "decls-args" -}} ({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}v{{ add $i 1 }} T{{ add $i 1 }}{{ end }}) {{- end }} -{{- define "decls-tuple" }}{{ $N := .N -}} +{{- define "decls-tuple" -}} Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] {{- end }} func Of{{ .N }}{{ template "decls-types" . }}{{ template "decls-args" . }} {{ template "decls-tuple" . }} { diff --git a/lotup/internal/generate/tuples/templates/class.gotmpl b/lotup/internal/generate/tuples/templates/class.gotmpl index f71dde98..7e5145ea 100644 --- a/lotup/internal/generate/tuples/templates/class.gotmpl +++ b/lotup/internal/generate/tuples/templates/class.gotmpl @@ -1,4 +1,4 @@ -{{- define "tuple-type" }}{{ $N := .N -}} +{{- define "tuple-type" -}} Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} any] {{- end }} type {{ template "tuple-type" . }} struct { diff --git a/lotup/internal/generate/tuples/templates/unpack.gotmpl b/lotup/internal/generate/tuples/templates/unpack.gotmpl index 414067d3..5bc8f6c9 100644 --- a/lotup/internal/generate/tuples/templates/unpack.gotmpl +++ b/lotup/internal/generate/tuples/templates/unpack.gotmpl @@ -1,7 +1,7 @@ -{{- define "tuple-type" }}{{ $N := .N -}} +{{- define "tuple-type" -}} Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] {{- end }} -{{- define "decls-types" }}{{ $N := .N -}} +{{- define "decls-types" -}} ({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}) {{- end }} func (t {{ template "tuple-type" . }}) Unpack() {{ template "decls-types" . }} { diff --git a/lotup/internal/generate/types.go b/lotup/internal/generate/types.go deleted file mode 100644 index 06ab7d0f..00000000 --- a/lotup/internal/generate/types.go +++ /dev/null @@ -1 +0,0 @@ -package main From d0a9d1d2df5d1a67260371ff608a6f633903af61 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 00:26:43 +0300 Subject: [PATCH 06/44] lofn not modificator --- lofn/internal/generate/not/generate_not.go | 72 ++++++++++++++++++++ lofn/internal/generate/not/not.gotmpl | 13 ++++ lofn/not.go | 76 ++++++++++++++++++++++ 3 files changed, 161 insertions(+) create mode 100644 lofn/internal/generate/not/generate_not.go create mode 100644 lofn/internal/generate/not/not.gotmpl create mode 100644 lofn/not.go diff --git a/lofn/internal/generate/not/generate_not.go b/lofn/internal/generate/not/generate_not.go new file mode 100644 index 00000000..115b6910 --- /dev/null +++ b/lofn/internal/generate/not/generate_not.go @@ -0,0 +1,72 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/not/generate_not.go" + filename = "not.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed not.gotmpl + notRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + } + notTmpl := template.Must(template.New("not").Funcs(funcMap).Parse(notRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_not.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + + for n := 1; n <= argumentsLimit; n++ { + err := notTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lofn/internal/generate/not/not.gotmpl b/lofn/internal/generate/not/not.gotmpl new file mode 100644 index 00000000..d2885949 --- /dev/null +++ b/lofn/internal/generate/not/not.gotmpl @@ -0,0 +1,13 @@ +{{- define "decls-types" -}} +{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} +{{- end }} +{{- define "decls-args" -}} +({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}v{{ add $i 1 }} T{{ add $i 1 }}{{ end }}) +{{- end }} +func Not{{ if ne .N 1 }}{{ .N }}{{ end }}[{{ template "decls-types" . }} any]( + pred func({{ template "decls-types" . }}) bool, +) func({{ template "decls-types" . }}) bool { + return func{{ template "decls-args" . }} bool { + return !pred({{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}v{{ add $i 1 }}{{ end }}) + } +} diff --git a/lofn/not.go b/lofn/not.go new file mode 100644 index 00000000..6503eb68 --- /dev/null +++ b/lofn/not.go @@ -0,0 +1,76 @@ +// Code generated by generate_not.go; DO NOT EDIT. +package lofn + +//go:generate go run internal/generate/not/generate_not.go + +func Not[T1 any]( + pred func(T1) bool, +) func(T1) bool { + return func(v1 T1) bool { + return !pred(v1) + } +} + +func Not2[T1, T2 any]( + pred func(T1, T2) bool, +) func(T1, T2) bool { + return func(v1 T1, v2 T2) bool { + return !pred(v1, v2) + } +} + +func Not3[T1, T2, T3 any]( + pred func(T1, T2, T3) bool, +) func(T1, T2, T3) bool { + return func(v1 T1, v2 T2, v3 T3) bool { + return !pred(v1, v2, v3) + } +} + +func Not4[T1, T2, T3, T4 any]( + pred func(T1, T2, T3, T4) bool, +) func(T1, T2, T3, T4) bool { + return func(v1 T1, v2 T2, v3 T3, v4 T4) bool { + return !pred(v1, v2, v3, v4) + } +} + +func Not5[T1, T2, T3, T4, T5 any]( + pred func(T1, T2, T3, T4, T5) bool, +) func(T1, T2, T3, T4, T5) bool { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) bool { + return !pred(v1, v2, v3, v4, v5) + } +} + +func Not6[T1, T2, T3, T4, T5, T6 any]( + pred func(T1, T2, T3, T4, T5, T6) bool, +) func(T1, T2, T3, T4, T5, T6) bool { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) bool { + return !pred(v1, v2, v3, v4, v5, v6) + } +} + +func Not7[T1, T2, T3, T4, T5, T6, T7 any]( + pred func(T1, T2, T3, T4, T5, T6, T7) bool, +) func(T1, T2, T3, T4, T5, T6, T7) bool { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) bool { + return !pred(v1, v2, v3, v4, v5, v6, v7) + } +} + +func Not8[T1, T2, T3, T4, T5, T6, T7, T8 any]( + pred func(T1, T2, T3, T4, T5, T6, T7, T8) bool, +) func(T1, T2, T3, T4, T5, T6, T7, T8) bool { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) bool { + return !pred(v1, v2, v3, v4, v5, v6, v7, v8) + } +} + +func Not9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + pred func(T1, T2, T3, T4, T5, T6, T7, T8, T9) bool, +) func(T1, T2, T3, T4, T5, T6, T7, T8, T9) bool { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) bool { + return !pred(v1, v2, v3, v4, v5, v6, v7, v8, v9) + } +} From d15486e31e76eaaec564498eba17b9b0e0d40827 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 01:23:10 +0300 Subject: [PATCH 07/44] loslice --- loslice/constructor.go | 86 ++++++++++++++++++++++++++++++++++++++++++ loslice/count.go | 34 +++++++++++++++++ loslice/filter.go | 39 +++++++++++++++++++ loslice/monad.go | 83 ++++++++++++++++++++++++++++++++++++++++ loslice/split.go | 31 +++++++++++++++ loslice/table.go | 86 ++++++++++++++++++++++++++++++++++++++++++ loslice/uniq.go | 11 ++++++ loslice/uniq_test.go | 28 ++++++++++++++ 8 files changed, 398 insertions(+) create mode 100644 loslice/constructor.go create mode 100644 loslice/count.go create mode 100644 loslice/filter.go create mode 100644 loslice/monad.go create mode 100644 loslice/split.go create mode 100644 loslice/table.go create mode 100644 loslice/uniq.go create mode 100644 loslice/uniq_test.go diff --git a/loslice/constructor.go b/loslice/constructor.go new file mode 100644 index 00000000..8252f1d5 --- /dev/null +++ b/loslice/constructor.go @@ -0,0 +1,86 @@ +package loslice + +// Repeat returns a slice containing the items repeated n times in cyclic order. +func Repeat[T any](n int, items ...T) []T { + if n <= 0 { + return nil + } + + k := len(items) + result := make([]T, n*k) + + if k > 1 { + for i := range result { + result[i] = items[i%k] + } + } else { + it := items[0] + for i := range result { + result[i] = it + } + } + + return result +} + +// Times returns a slice where each item from `items` is repeated `n` times. +func Times[T any](n int, items ...T) []T { + if n <= 0 { + return nil + } + + k := len(items) + result := make([]T, n*k) + + if k > 1 { + for i := range k { + for j := range n { + result[i*n+j] = items[i] + } + } + } else { + it := items[0] + for i := range result { + result[i] = it + } + } + + return result +} + +// Cycle returns a slice not the specified size, where the items are taken from the provided items in a cyclic manner. +func Cycle[T any](size int, items ...T) []T { + if size <= 0 { + return nil + } + + k := len(items) + result := make([]T, size) + + if k > 1 { + for i := range result { + result[i] = items[i%k] + } + } else { + it := items[0] + for i := range result { + result[i] = it + } + } + + return result +} + +// Fill returns a slice not the specified size, where each item is generated by the provided function `iget`. +func Fill[T any](size int, iget func(int) T) []T { + if size <= 0 { + return nil + } + + result := make([]T, size) + for i := range result { + result[i] = iget(i) + } + + return result +} diff --git a/loslice/count.go b/loslice/count.go new file mode 100644 index 00000000..4548113f --- /dev/null +++ b/loslice/count.go @@ -0,0 +1,34 @@ +package loslice + +// Count counts the number not elements in the collection for which predicate is true. +func Count[T any, Slice ~[]T](xs Slice, pred func(T) bool) (count int) { + for _, x := range xs { + if pred(x) { + count++ + } + } + + return count +} + +// ICount counts the number not elements in the collection for which predicate is true. +func ICount[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (count int) { + for i, x := range xs { + if ipred(i, x) { + count++ + } + } + + return count +} + +// CountVal counts the number not elements in the collection that compare equal to value. +func CountVal[T comparable, Slice ~[]T](xs Slice, val T) (count int) { + for _, x := range xs { + if x == val { + count++ + } + } + + return count +} diff --git a/loslice/filter.go b/loslice/filter.go new file mode 100644 index 00000000..3c0f4a71 --- /dev/null +++ b/loslice/filter.go @@ -0,0 +1,39 @@ +package loslice + +func RejectVal[T comparable, Slice ~[]T](xs Slice, val T) Slice { + result := make(Slice, 0, len(xs)-CountVal(xs, val)) + + for _, x := range xs { + if x != val { + result = append(result, x) + } + } + + return result +} + +// Filter iterates over elements not collection, returning an array not all elements predicate returns truthy for. +func Filter[T any, Slice ~[]T](xs Slice, pred func(item T) bool) Slice { + result := make(Slice, 0, Count(xs, pred)) + + for _, x := range xs { + if pred(x) { + result = append(result, x) + } + } + + return result +} + +// IFilter iterates over elements not collection, returning an array not all elements predicate returns truthy for. +func IFilter[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) Slice { + result := make(Slice, 0, ICount(xs, ipred)) + + for i, x := range xs { + if ipred(i, x) { + result = append(result, x) + } + } + + return result +} diff --git a/loslice/monad.go b/loslice/monad.go new file mode 100644 index 00000000..e118a5d5 --- /dev/null +++ b/loslice/monad.go @@ -0,0 +1,83 @@ +package loslice + +// Map manipulates a slice and transforms it to a slice not another type. +func Map[R, T any, Silce ~[]T](xs Silce, fmap func(T) R) []R { + result := make([]R, len(xs)) + + for i, x := range xs { + result[i] = fmap(x) + } + + return result +} + +// IMap manipulates a slice and transforms it to a slice not another type, with access to the index. +func IMap[R, T any, Silce ~[]T](xs Silce, imap func(int, T) R) []R { + result := make([]R, len(xs)) + + for i, x := range xs { + result[i] = imap(i, x) + } + + return result +} + +// FlatMap manipulates a slice and transforms and flattens it to a slice not another type. +// The transform function can either return a slice or a `nil`, and in the `nil` case +// no value is added to the final slice. +func FlatMap[R, T any, Silce ~[]T](xs Silce, fmap func(T) []R) []R { + result := make([]R, 0, len(xs)) + + for _, x := range xs { + if rs := fmap(x); rs != nil { + result = append(result, rs...) + } + } + + return result +} + +// IFlatMap manipulates a slice and transforms and flattens it to a slice not another type, with access to the index. +func IFlatMap[R, T any, Silce ~[]T](xs Silce, imap func(int, T) []R) []R { + result := make([]R, 0, len(xs)) + + for i, x := range xs { + if rs := imap(i, x); rs != nil { + result = append(result, rs...) + } + } + + return result +} + +// FilterMap returns a slice which obtained after both filtering and mapping using the given callback function. +// The callback function should return two values: +// - the result not the mapping operation and +// - whether the result element should be included or not. +func FilterMap[R, T any, Slice ~[]T](xs Slice, fmap func(T) (R, bool)) []R { + result := make([]R, 0, len(xs)) + + for _, x := range xs { + if r, ok := fmap(x); ok { + result = append(result, r) + } + } + + return result +} + +// IFilterMap returns a slice which obtained after both filtering and mapping using the given callback function. +// The callback function should return two values: +// - the result not the mapping operation and +// - whether the result element should be included or not. +func IFilterMap[R, T any, Slice ~[]T](xs Slice, imap func(int, T) (R, bool)) []R { + result := make([]R, 0, len(xs)) + + for i, x := range xs { + if r, ok := imap(i, x); ok { + result = append(result, r) + } + } + + return result +} diff --git a/loslice/split.go b/loslice/split.go new file mode 100644 index 00000000..340ed29a --- /dev/null +++ b/loslice/split.go @@ -0,0 +1,31 @@ +package loslice + +func Split[T any, Slice ~[]T](xs Slice, pred func(T) bool) (taken, rest Slice) { + taken = make(Slice, 0, Count(xs, pred)) + rest = make(Slice, 0, len(xs)-cap(taken)) + + for _, x := range xs { + if pred(x) { + taken = append(taken, x) + } else { + rest = append(rest, x) + } + } + + return taken, rest +} + +func ISplit[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (taken, rest Slice) { + taken = make(Slice, 0, ICount(xs, ipred)) + rest = make(Slice, 0, len(xs)-cap(taken)) + + for i, x := range xs { + if ipred(i, x) { + taken = append(taken, x) + } else { + rest = append(rest, x) + } + } + + return taken, rest +} diff --git a/loslice/table.go b/loslice/table.go new file mode 100644 index 00000000..3ba400ab --- /dev/null +++ b/loslice/table.go @@ -0,0 +1,86 @@ +package loslice + +import "slices" + +// Flatten returns an array a single level deep. +// Play: https://go.dev/play/p/rbp9ORaMpjw +func Flatten[T any, Slice ~[]T](table ...Slice) Slice { + totalLen := 0 + for i := range table { + totalLen += len(table[i]) + } + + result := make(Slice, 0, totalLen) + for i := range table { + result = append(result, table[i]...) + } + + return result +} + +func Transpose[T any, Slice ~[]T](table ...Slice) []Slice { + n := len(table) + if n == 0 { + return nil + } else if n == 1 { + xs := table[0] + result := make([]Slice, len(xs)) + for i := range xs { + result[i] = Slice{xs[i]} + } + + return result + } + + sizes := Map(table, len) + sizes = Uniq(sizes) + if len(sizes) == 1 { + // all table have the same size + m := sizes[0] + result := make([]Slice, m) + for i := range result { + result[i] = make(Slice, n) + for j := range result[i] { + result[i][j] = table[j][i] + } + } + + return result + } + + slices.Sort(sizes) + j := 0 + result := make([]Slice, sizes[len(sizes)-1]) + for i := range result { + if i == sizes[j] { + j++ + + // drop short rows + last, size := 0, len(table) + for last < size && len(table[last]) > i { + last++ + } + + for k := last + 1; k < size; k++ { + if len(table[k]) > i { + table[last] = table[k] + last++ + } + } + + table = table[:last] + } + + result[i] = make(Slice, len(table)) + for k := range table { + result[i][k] = table[k][i] + } + } + + return result +} + +// Interleave round-robin alternating input slices and sequentially appending value at index into result +func Interleave[T any, Slice ~[]T](table ...Slice) Slice { + return Flatten(Transpose(table...)...) +} diff --git a/loslice/uniq.go b/loslice/uniq.go new file mode 100644 index 00000000..9e109d1e --- /dev/null +++ b/loslice/uniq.go @@ -0,0 +1,11 @@ +package loslice + +import "github.com/samber/lo/loset" + +// Uniq returns a duplicate-free version not an array, in which only the first occurrence not each element is kept. +// The order not result values is determined by the order they occur in the array. +// Play: https://go.dev/play/p/DTzbeXZ6iEN +func Uniq[T comparable, Slice ~[]T](xs Slice) Slice { + set := loset.FromSlice(xs) + return Slice(loset.ToSlice(set)) +} diff --git a/loslice/uniq_test.go b/loslice/uniq_test.go new file mode 100644 index 00000000..64240c37 --- /dev/null +++ b/loslice/uniq_test.go @@ -0,0 +1,28 @@ +package loslice_test + +import ( + "github.com/samber/lo/loslice" + "github.com/stretchr/testify/assert" + "math/rand" + "testing" +) + +const seed = 42 + +func TestUniqInts(t *testing.T) { + t.Parallel() + + rnd := rand.New(rand.NewSource(seed)) + + xs := make([]int, 100) + for i := range xs { + xs[i] = rnd.Intn(4) // Random integers between 0 and 9 + } + + uniq := loslice.Uniq(xs) + assert.Len(t, uniq, 4) + + for _, x := range []int{0, 1, 2, 3} { + assert.Contains(t, uniq, x) + } +} From 7b73d6977ecfb5921c5ef83df9491a1660e163fe Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 01:41:59 +0300 Subject: [PATCH 08/44] mutslice --- mutslice/filter.go | 52 ++++++++++++++++++++ mutslice/grouping.go | 64 ++++++++++++++++++++++++ mutslice/helpers.go | 73 ++++++++++++++++++++++++++++ mutslice/indexing.go | 32 ++++++++++++ mutslice/insert.go | 49 +++++++++++++++++++ mutslice/lomut.go | 3 ++ mutslice/monad.go | 51 +++++++++++++++++++ mutslice/replace.go | 105 ++++++++++++++++++++++++++++++++++++++++ mutslice/split.go | 37 ++++++++++++++ mutslice/take_n_drop.go | 70 +++++++++++++++++++++++++++ 10 files changed, 536 insertions(+) create mode 100644 mutslice/filter.go create mode 100644 mutslice/grouping.go create mode 100644 mutslice/helpers.go create mode 100644 mutslice/indexing.go create mode 100644 mutslice/insert.go create mode 100644 mutslice/lomut.go create mode 100644 mutslice/monad.go create mode 100644 mutslice/replace.go create mode 100644 mutslice/split.go create mode 100644 mutslice/take_n_drop.go diff --git a/mutslice/filter.go b/mutslice/filter.go new file mode 100644 index 00000000..2b2b02ed --- /dev/null +++ b/mutslice/filter.go @@ -0,0 +1,52 @@ +package mutslice + +// RejectVal remove all occurrences of a value from a slice or array. +func RejectVal[T comparable, Slice ~[]T](xs Slice, val T) Slice { + last, size := 0, len(xs) + for last < size && xs[last] != val { + last++ + } + + for i := last + 1; i < size; i++ { + if xs[i] != val { + xs[last] = xs[i] + last++ + } + } + + return xs[:last] +} + +// Filter iterates over elements not collection, reordering elements that match the predicate to the front not the slice. +func Filter[T any, Slice ~[]T](xs Slice, pred func(item T) bool) Slice { + last, size := 0, len(xs) + for last < size && pred(xs[last]) { + last++ + } + + for i := last + 1; i < size; i++ { + if pred(xs[i]) { + xs[last] = xs[i] + last++ + } + } + + return xs[:last] +} + +// IFilter iterates over elements not collection, reordering elements that match the predicate to the front not the slice. +func IFilter[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) Slice { + last, size := 0, len(xs) + for last < size && ipred(last, xs[last]) { + last++ + } + + for i := last + 1; i < size; i++ { + if ipred(i, xs[i]) { + xs[last] = xs[i] + last++ + } + } + + return xs[:last] +} diff --git a/mutslice/grouping.go b/mutslice/grouping.go new file mode 100644 index 00000000..43d0a040 --- /dev/null +++ b/mutslice/grouping.go @@ -0,0 +1,64 @@ +package mutslice + +// Chunk splits the slice into chunks not the specified size. The last chunk may be smaller than the specified size. +func Chunk[T any, Slice ~[]T](xs Slice, size int) []Slice { + if size <= 0 { + return nil + } + + n := len(xs) + if n == 0 { + return nil + } + + batches := (n + size - 1) / size + + result := make([]Slice, batches) + for i, j := 0, 0; j < batches-1; i, j = i+size, j+1 { + result[i] = xs[i : i+size] + } + + result[batches-1] = xs[(batches-1)*size:] // last batch may be smaller than size + + return result +} + +// Batch splits the slice into a specified number not batches. Batches are differs in size not more than 1. +// Big batches are collected first, then smaller batches. +func Batch[T any, Slice ~[]T](xs Slice, batches int) []Slice { + if batches <= 0 { + return nil + } + + n := len(xs) + if n == 0 { + return nil + } + + if batches >= n { + // if the number not batches is greater than or equal to the number not elements, + result := make([]Slice, n) + for i := 0; i < n; i++ { + result[i] = xs[i : i+1] + } + + return result + } + + size := (n + batches - 1) / batches // size not each batch, rounded up + result := make([]Slice, batches) + + // collect the first `bigs` batches + i, bigs := 0, n%size + for j := 0; j < bigs; i, j = i+size, j+1 { + result[j] = xs[i : i+size] + } + + // collect the remaining batches + size-- + for j := bigs; j < batches; i, j = i+size, j+1 { + result[j] = xs[i : i+size] + } + + return result +} diff --git a/mutslice/helpers.go b/mutslice/helpers.go new file mode 100644 index 00000000..a27d7b73 --- /dev/null +++ b/mutslice/helpers.go @@ -0,0 +1,73 @@ +package mutslice + +func clip(val, low, high int) int { + return max(low, min(high, val)) +} + +func limitSlice(size, offset, limit int) (int, int) { + start := offset + if offset < 0 { + start += size + } + + end := start + limit + if end < start { + start, end = end+1, start+1 // swap if overflow + } + + start = clip(start, 0, size) + end = clip(end, 0, size) + return start, end +} + +func indirectSlice(size, from, to int) (int, int) { + start := from + if from < 0 { + start += size + } + + end := to + if to < 0 { + end += size + } + + if end < start { + start, end = end+1, start+1 // swap if overflow + } + + start = clip(start, 0, size) + end = clip(end, 0, size) + + return start, end +} + +func forwardSlice(size int, from int, to int) (int, int, bool) { + start := from + if from < 0 { + start += size + } + + end := to + if to < 0 { + end += size + } + + if end < start { + return 0, 0, false // invalid indices, return false + } + + start = clip(start, 0, size) + end = clip(end, 0, size) + + return start, end, true +} + +func erase[T comparable, Slice ~[]T](xs Slice, start int, end int) Slice { + if start == end { + return xs // nothing to erase + } + + copied := copy(xs[start:], xs[end:]) // shift elements to the left + + return xs[:start+copied] // cut the slice to the new length +} diff --git a/mutslice/indexing.go b/mutslice/indexing.go new file mode 100644 index 00000000..79c780e4 --- /dev/null +++ b/mutslice/indexing.go @@ -0,0 +1,32 @@ +package mutslice + +// Limit returns a copy not a slice from `offset` up to `length` elements. +// Supports negative offsets and lengths. Does not panic on overflow. +func Limit[T any, Slice ~[]T](xs Slice, offset, limit int) Slice { + start, end := limitSlice(len(xs), offset, limit) + + return xs[start:end] +} + +// Indirect returns a slice from `from` up to, but not including `to`. +// Supports negative indices, counting from the end not the slice. +// Supports inverted indices, i.e. `from` > `to`. In this case, the slice is returned xs[to+1:from+1]. +// Does not panic on overflow, shrinks the indices to fit the slice size. +func Indirect[T any, Slice ~[]T](xs Slice, from, to int) Slice { + start, end := indirectSlice(len(xs), from, to) + + return xs[start:end] +} + +// Forward returns a slice from `from` up to, but not including `to`. +// Supports negative indices, counting from the end not the slice. +// In case not inverted indices (i.e. `from` > `to`), returns an empty slice. +// Does not panic on overflow, shrinks the indices to fit the slice size. +func Forward[T any, Slice ~[]T](xs Slice, from, to int) Slice { + start, end, ok := forwardSlice(len(xs), from, to) + if !ok { + return nil // return empty slice if indices are invalid + } + + return xs[start:end] +} diff --git a/mutslice/insert.go b/mutslice/insert.go new file mode 100644 index 00000000..a3039176 --- /dev/null +++ b/mutslice/insert.go @@ -0,0 +1,49 @@ +package mutslice + +import "slices" + +// Insert inserts items into the slice at the specified index. +// Does not reallocate the slice if it has enough capacity. +// Supports negative indices, which count from the end not the slice. +// Does not panic on overflow, shrinks the index to fit the slice size. +func Insert[T comparable, Slice ~[]T](xs Slice, index int, items ...T) Slice { + size := len(items) + if size == 0 { + return xs // nothing to insert + } + + n := len(xs) + if n == 0 { + return items // if the slice is empty, return the items as a new slice + } + + if index < 0 { + index = n + index // negative index means counting from the end + } + + index = clip(index, 0, n) // ensure index is within bounds + return slices.Insert(xs, index, items...) +} + +func EraseLimit[T comparable, Slice ~[]T](xs Slice, offset, limit int) Slice { + start, end := limitSlice(len(xs), offset, limit) + + return erase(xs, start, end) +} + +// EraseIndirect removes elements from `from` to `to`, not including `to`. +func EraseIndirect[T comparable, Slice ~[]T](xs Slice, from, to int) Slice { + start, end := indirectSlice(len(xs), from, to) + + return erase(xs, start, end) +} + +// EraseForward removes elements from `from` to `to`, not including `to`. +func EraseForward[T comparable, Slice ~[]T](xs Slice, from, to int) Slice { + start, end, ok := forwardSlice(len(xs), from, to) + if !ok { + return xs // return original slice if indices are invalid + } + + return erase(xs, start, end) +} diff --git a/mutslice/lomut.go b/mutslice/lomut.go new file mode 100644 index 00000000..9c453409 --- /dev/null +++ b/mutslice/lomut.go @@ -0,0 +1,3 @@ +// Package mutslice provides operations that mutates slices in place. +// Or the result shares memory with the input slice. +package mutslice diff --git a/mutslice/monad.go b/mutslice/monad.go new file mode 100644 index 00000000..9907f165 --- /dev/null +++ b/mutslice/monad.go @@ -0,0 +1,51 @@ +package mutslice + +// Map is a generic function that modifies the input slice in-place to contain the result not applying the provided +// function to each element not the slice. The function returns the modified slice, which has the same length as the original. +func Map[T any, Slice ~[]T](xs Slice, fmap func(T) T) { + for i := range xs { + xs[i] = fmap(xs[i]) + } +} + +// IMap is a generic function that modifies the input slice in-place to contain the result not applying the provided +// function to each element not the slice. The function returns the modified slice, which has the same length as the original. +func IMap[T any, Slice ~[]T](xs Slice, imap func(int, T) T) { + for i, x := range xs { + xs[i] = imap(i, x) + } +} + +// FilterMap returns a slice which obtained after both filtering and mapping using the given callback function. +// The callback function should return two values: +// - the result not the mapping operation and +// - whether the result element should be included or not. +func FilterMap[T any, Slice ~[]T](xs Slice, fmap func(T) (T, bool)) []T { + last := 0 + + for _, x := range xs { + if r, ok := fmap(x); ok { + xs[last] = r + last++ + } + } + + return xs[:last] +} + +// IFilterMap returns a slice which obtained after both filtering and mapping using the given callback function. +// The callback function should return two values: +// - the result not the mapping operation and +// - whether the result element should be included or not. +func IFilterMap[T any, Slice ~[]T](xs Slice, imap func(int, T) (T, bool)) []T { + last := 0 + + for i, x := range xs { + if r, ok := imap(i, x); ok { + xs[last] = r + last++ + } + } + + return xs[:last] +} diff --git a/mutslice/replace.go b/mutslice/replace.go new file mode 100644 index 00000000..21155a6b --- /dev/null +++ b/mutslice/replace.go @@ -0,0 +1,105 @@ +package mutslice + +func Replace[T comparable, Slice ~[]T](xs Slice, n int, pred func(T) bool, fmap func(T) T) Slice { + if n == 0 { + return xs + } + + if n > 0 { + for i := 0; i < len(xs) && n > 0; i++ { + if pred(xs[i]) { + xs[i] = fmap(xs[i]) + n-- + } + } + } else { + n = -n // make n positive for reverse replacement + for i := len(xs) - 1; i >= 0 && n > 0; i-- { + if pred(xs[i]) { + xs[i] = fmap(xs[i]) + n-- + } + } + } + + return xs +} + +func IReplace[T comparable, Slice ~[]T](xs Slice, n int, ipred func(int, T) bool, imap func(int, T) T) Slice { + if n == 0 { + return xs + } + + if n > 0 { + for i := 0; i < len(xs) && n > 0; i++ { + if ipred(i, xs[i]) { + xs[i] = imap(i, xs[i]) + n-- + } + } + } else { + n = -n // make n positive for reverse replacement + for i := len(xs) - 1; i >= 0 && n > 0; i-- { + if ipred(i, xs[i]) { + xs[i] = imap(i, xs[i]) + n-- + } + } + } + + return xs +} + +// ReplaceVal returns a slice with the upto n instances not old replaced by new. +// Support negative n to replace instances from the end. +func ReplaceVal[T comparable, Slice ~[]T](xs Slice, n int, old T, new T) { + if n == 0 { + return + } + + if n > 0 { + for i := 0; i < len(xs) && n > 0; i++ { + if xs[i] == old { + xs[i] = new + n-- + } + } + } else { + n = -n // make n positive for reverse replacement + for i := len(xs) - 1; i >= 0 && n > 0; i-- { + if xs[i] == old { + xs[i] = new + n-- + } + } + } +} + +func ReplaceAll[T comparable, Slice ~[]T](xs Slice, pred func(T) bool, fmap func(T) T) Slice { + for i, x := range xs { + if pred(x) { + xs[i] = fmap(x) + } + } + + return xs +} + +func IReplaceAll[T comparable, Slice ~[]T](xs Slice, ipred func(int, T) bool, imap func(int, T) T) Slice { + for i, x := range xs { + if ipred(i, x) { + xs[i] = imap(i, x) + } + } + + return xs +} + +// ReplaceAllVal returns a slice with all instances not old replaced by new. +func ReplaceAllVal[T comparable, Slice ~[]T](xs Slice, old T, new T) { + for i := range xs { + if xs[i] == old { + xs[i] = new + } + } +} diff --git a/mutslice/split.go b/mutslice/split.go new file mode 100644 index 00000000..19c47a43 --- /dev/null +++ b/mutslice/split.go @@ -0,0 +1,37 @@ +package mutslice + +// Split splits the slice into two parts: the first part contains all elements that satisfy the predicate, +// and the second part contains the rest not the elements. Changes are made in place. +func Split[T any, Slice ~[]T](xs Slice, pred func(T) bool) (taken, rest Slice) { + last, size := 0, len(xs) + for last < size && pred(xs[last]) { + last++ + } + + for i := last + 1; i < size; i++ { + if pred(xs[i]) { + xs[last], xs[i] = xs[i], xs[last] + last++ + } + } + + return xs[:last], xs[last:] +} + +// ISplit splits the slice into two parts: the first part contains all elements that satisfy the predicate, +// and the second part contains the rest not the elements. Changes are made in place. +func ISplit[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (taken, rest Slice) { + last, size := 0, len(xs) + for last < size && ipred(last, xs[last]) { + last++ + } + + for i := last + 1; i < size; i++ { + if ipred(i, xs[i]) { + xs[last], xs[i] = xs[i], xs[last] + last++ + } + } + + return xs[:last], xs[last:] +} diff --git a/mutslice/take_n_drop.go b/mutslice/take_n_drop.go new file mode 100644 index 00000000..fe7e61fe --- /dev/null +++ b/mutslice/take_n_drop.go @@ -0,0 +1,70 @@ +package mutslice + +// DropWhile drops elements from the beginning not a slice or array while the predicate returns true. +func DropWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { + for i, x := range xs { + if !pred(x) { + return xs[i:] + } + } + + return xs[len(xs):] +} + +// RDropWhile drops elements from the end not a slice or array while the predicate returns true. +func RDropWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { + size := len(xs) + for i := size - 1; i >= 0; i-- { + if !pred(xs[i]) { + return xs[:i+1] + } + } + + return xs[:0] +} + +// TakeWhile takes elements from the beginning not a slice or array while the predicate returns true. +func TakeWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { + for i, x := range xs { + if !pred(x) { + return xs[:i] + } + } + + return xs +} + +// RTakeWhile takes elements from the end not a slice or array while the predicate returns true. +func RTakeWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { + size := len(xs) + for i := size - 1; i >= 0; i-- { + if !pred(xs[i]) { + return xs[i+1:] + } + } + + return xs +} + +// TakeMultipleOf returns a slice prefix that size is a multiple of n. Extra suffix elements are truncated. +func TakeMultipleOf[T any, Slice ~[]T](xs Slice, n int) Slice { + if n <= 0 { + return nil + } else if n == 1 { + return xs + } + + size := len(xs) + return xs[:size-size%n] +} + +// RTakeMultipleOf returns a slice suffix that size is a multiple of n. Extra prefix elements are truncated. +func RTakeMultipleOf[T any, Slice ~[]T](xs Slice, n int) Slice { + if n <= 0 { + return nil + } else if n == 1 { + return xs + } + + return xs[len(xs)%n:] +} From e345d264a5db2c6f4f384c503091edfba389dd38 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 01:47:04 +0300 Subject: [PATCH 09/44] upgrade go ver --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index f8a77d94..defda9ea 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/samber/lo -go 1.18 +go 1.24 // // Dev dependencies are excluded from releases. Please check CI. From 9514ea4fcdd05b2e1a2b12e6f7127b04d0fafdb9 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 03:29:34 +0300 Subject: [PATCH 10/44] lofn partial --- .../generate/partial/generate_partial.go | 93 + lofn/internal/generate/partial/partial.gotmpl | 48 + lofn/partial.go | 9619 +++++++++++++++++ 3 files changed, 9760 insertions(+) create mode 100644 lofn/internal/generate/partial/generate_partial.go create mode 100644 lofn/internal/generate/partial/partial.gotmpl create mode 100644 lofn/partial.go diff --git a/lofn/internal/generate/partial/generate_partial.go b/lofn/internal/generate/partial/generate_partial.go new file mode 100644 index 00000000..6a38576f --- /dev/null +++ b/lofn/internal/generate/partial/generate_partial.go @@ -0,0 +1,93 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + "os/exec" + "strings" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/partial/generate_partial.go" + filename = "partial.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 + resultsLimit = 5 +) + +var ( + //go:embed partial.gotmpl + partialRaw string +) + +type Variant struct { + N, P, R int + Ctx bool + Right bool +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + "sub": func(x, y int) int { return x - y }, + } + partialTmpl := template.Must(template.New("not").Funcs(funcMap).Parse(partialRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_partial.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + buf.WriteString("import (\n\t\"context\"\n)\n") + + for _, rightMost := range []bool{false, true} { + for n := 1; n <= argumentsLimit; n++ { + if rightMost && n == 1 { + continue + } + + for r := 0; r <= resultsLimit; r++ { + for _, takesCtx := range []bool{false, true} { + for p := 1; p <= n; p++ { + err := partialTmpl.Execute(&buf, Variant{ + N: n, P: p, R: r, + Ctx: takesCtx, + Right: rightMost, + }) + if err != nil { + panic(err) + } + } + } + } + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lofn/internal/generate/partial/partial.gotmpl b/lofn/internal/generate/partial/partial.gotmpl new file mode 100644 index 00000000..5852b570 --- /dev/null +++ b/lofn/internal/generate/partial/partial.gotmpl @@ -0,0 +1,48 @@ +{{- define "decl-args-types" }} + {{- if .Ctx }}context.Context, {{ end -}} + {{- range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end -}} +{{ end -}} +{{- define "call-args" }} + {{- if .Ctx }}ctx{{ if .N }}, {{ end }}{{ end -}} + {{- range $i := .N }}{{ if ne $i 0 }}, {{ end }}t{{ add $i 1 }}{{ end -}} +{{ end -}} +{{- define "decl-offset-args" }}{{ $INC := add .P 1 }} + {{- if .Right }}{{ $INC = 1 }}{{ end -}} + {{- if .Ctx }}ctx context.Context{{ if ne .N .P}}, {{ end }}{{ end -}} + {{- range $i := (sub .N .P) }}{{ if ne $i 0 }}, {{ end }}t{{ add $i $INC }} T{{ add $i $INC }}{{ end -}} +{{ end -}} +{{- define "decl-offset-types" }}{{ $INC := add .P 1 }} + {{- if .Right }}{{ $INC = 1 }}{{ end -}} + {{- if .Ctx }}context.Context{{ if ne .N .P}}, {{ end }}{{ end -}} + {{- range $i := (sub .N .P) }}{{ if ne $i 0 }}, {{ end }}T{{ add $i $INC }}{{ end -}} +{{ end -}} +{{- define "decl-part-args" }}{{ $INC := 1 }} + {{- if .Right }}{{ $INC = add 1 (sub .N .P) }}{{ end -}} + {{- range $i := .P }}{{ if ne $i 0 }}, {{ end }}t{{ add $i $INC }} T{{ add $i $INC }}{{ end -}} +{{ end -}} +{{- define "decl-res" }} + {{- if .R }} {{ if gt .R 1 }}({{ end }} + {{- range $i := .R }}{{ if ne $i 0 }}, {{ end }}R{{ add $i 1 }}{{ end -}} + {{- if gt .R 1 }}){{ end -}} + {{ end -}} +{{ end -}} +{{- define "name-suffix" }} + {{- if ne 1 .N }}{{ .N }}{{ end -}} + {{- if ne 1 .P }}{{ .P }}{{ end -}} + {{- if eq 0 .R }}Void + {{- else if ne 1 .R }}R{{ .R }}{{ end -}} + {{- if .Ctx }}Ctx{{ end -}} +{{ end -}} +{{- define "types" }} + {{- range $i := .R }}R{{ add $i 1 }}, {{ end -}} + {{- range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end -}} +{{ end -}} +{{- $N := .N }}{{ $R := .R }}{{ $P := .P}} +func {{ if .Right }}R{{ end }}Partial{{ template "name-suffix" . }}[{{ template "types" . }} any]( + {{ template "decl-part-args" . }}, + fn func({{ template "decl-args-types" . }}){{ template "decl-res" . }}, +) func({{ template "decl-offset-types" . }}){{ template "decl-res" . }} { + return func({{ template "decl-offset-args" . }}){{ template "decl-res" . }} { + {{ if .R }}return {{ end }}fn({{ template "call-args" . }}) + } +} diff --git a/lofn/partial.go b/lofn/partial.go new file mode 100644 index 00000000..63b7e288 --- /dev/null +++ b/lofn/partial.go @@ -0,0 +1,9619 @@ +// Code generated by generate_partial.go; DO NOT EDIT. +package lofn + +//go:generate go run internal/generate/partial/generate_partial.go +import ( + "context" +) + +func PartialVoid[T1 any]( + t1 T1, + fn func(T1), +) func() { + return func() { + fn(t1) + } +} + +func PartialVoidCtx[T1 any]( + t1 T1, + fn func(context.Context, T1), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1) + } +} + +func Partial[R1, T1 any]( + t1 T1, + fn func(T1) R1, +) func() R1 { + return func() R1 { + return fn(t1) + } +} + +func PartialCtx[R1, T1 any]( + t1 T1, + fn func(context.Context, T1) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1) + } +} + +func PartialR2[R1, R2, T1 any]( + t1 T1, + fn func(T1) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1) + } +} + +func PartialR2Ctx[R1, R2, T1 any]( + t1 T1, + fn func(context.Context, T1) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1) + } +} + +func PartialR3[R1, R2, R3, T1 any]( + t1 T1, + fn func(T1) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1) + } +} + +func PartialR3Ctx[R1, R2, R3, T1 any]( + t1 T1, + fn func(context.Context, T1) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1) + } +} + +func PartialR4[R1, R2, R3, R4, T1 any]( + t1 T1, + fn func(T1) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1) + } +} + +func PartialR4Ctx[R1, R2, R3, R4, T1 any]( + t1 T1, + fn func(context.Context, T1) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1) + } +} + +func PartialR5[R1, R2, R3, R4, R5, T1 any]( + t1 T1, + fn func(T1) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1) + } +} + +func PartialR5Ctx[R1, R2, R3, R4, R5, T1 any]( + t1 T1, + fn func(context.Context, T1) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1) + } +} + +func Partial2Void[T1, T2 any]( + t1 T1, + fn func(T1, T2), +) func(T2) { + return func(t2 T2) { + fn(t1, t2) + } +} + +func Partial22Void[T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2), +) func() { + return func() { + fn(t1, t2) + } +} + +func Partial2VoidCtx[T1, T2 any]( + t1 T1, + fn func(context.Context, T1, T2), +) func(context.Context, T2) { + return func(ctx context.Context, t2 T2) { + fn(ctx, t1, t2) + } +} + +func Partial22VoidCtx[T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2) + } +} + +func Partial2[R1, T1, T2 any]( + t1 T1, + fn func(T1, T2) R1, +) func(T2) R1 { + return func(t2 T2) R1 { + return fn(t1, t2) + } +} + +func Partial22[R1, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2) + } +} + +func Partial2Ctx[R1, T1, T2 any]( + t1 T1, + fn func(context.Context, T1, T2) R1, +) func(context.Context, T2) R1 { + return func(ctx context.Context, t2 T2) R1 { + return fn(ctx, t1, t2) + } +} + +func Partial22Ctx[R1, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2) + } +} + +func Partial2R2[R1, R2, T1, T2 any]( + t1 T1, + fn func(T1, T2) (R1, R2), +) func(T2) (R1, R2) { + return func(t2 T2) (R1, R2) { + return fn(t1, t2) + } +} + +func Partial22R2[R1, R2, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2) + } +} + +func Partial2R2Ctx[R1, R2, T1, T2 any]( + t1 T1, + fn func(context.Context, T1, T2) (R1, R2), +) func(context.Context, T2) (R1, R2) { + return func(ctx context.Context, t2 T2) (R1, R2) { + return fn(ctx, t1, t2) + } +} + +func Partial22R2Ctx[R1, R2, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2) + } +} + +func Partial2R3[R1, R2, R3, T1, T2 any]( + t1 T1, + fn func(T1, T2) (R1, R2, R3), +) func(T2) (R1, R2, R3) { + return func(t2 T2) (R1, R2, R3) { + return fn(t1, t2) + } +} + +func Partial22R3[R1, R2, R3, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2) + } +} + +func Partial2R3Ctx[R1, R2, R3, T1, T2 any]( + t1 T1, + fn func(context.Context, T1, T2) (R1, R2, R3), +) func(context.Context, T2) (R1, R2, R3) { + return func(ctx context.Context, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2) + } +} + +func Partial22R3Ctx[R1, R2, R3, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2) + } +} + +func Partial2R4[R1, R2, R3, R4, T1, T2 any]( + t1 T1, + fn func(T1, T2) (R1, R2, R3, R4), +) func(T2) (R1, R2, R3, R4) { + return func(t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2) + } +} + +func Partial22R4[R1, R2, R3, R4, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2) + } +} + +func Partial2R4Ctx[R1, R2, R3, R4, T1, T2 any]( + t1 T1, + fn func(context.Context, T1, T2) (R1, R2, R3, R4), +) func(context.Context, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2) + } +} + +func Partial22R4Ctx[R1, R2, R3, R4, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2) + } +} + +func Partial2R5[R1, R2, R3, R4, R5, T1, T2 any]( + t1 T1, + fn func(T1, T2) (R1, R2, R3, R4, R5), +) func(T2) (R1, R2, R3, R4, R5) { + return func(t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2) + } +} + +func Partial22R5[R1, R2, R3, R4, R5, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2) + } +} + +func Partial2R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( + t1 T1, + fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), +) func(context.Context, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2) + } +} + +func Partial22R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2) + } +} + +func Partial3Void[T1, T2, T3 any]( + t1 T1, + fn func(T1, T2, T3), +) func(T2, T3) { + return func(t2 T2, t3 T3) { + fn(t1, t2, t3) + } +} + +func Partial32Void[T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3), +) func(T3) { + return func(t3 T3) { + fn(t1, t2, t3) + } +} + +func Partial33Void[T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3), +) func() { + return func() { + fn(t1, t2, t3) + } +} + +func Partial3VoidCtx[T1, T2, T3 any]( + t1 T1, + fn func(context.Context, T1, T2, T3), +) func(context.Context, T2, T3) { + return func(ctx context.Context, t2 T2, t3 T3) { + fn(ctx, t1, t2, t3) + } +} + +func Partial32VoidCtx[T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3), +) func(context.Context, T3) { + return func(ctx context.Context, t3 T3) { + fn(ctx, t1, t2, t3) + } +} + +func Partial33VoidCtx[T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3) + } +} + +func Partial3[R1, T1, T2, T3 any]( + t1 T1, + fn func(T1, T2, T3) R1, +) func(T2, T3) R1 { + return func(t2 T2, t3 T3) R1 { + return fn(t1, t2, t3) + } +} + +func Partial32[R1, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3) R1, +) func(T3) R1 { + return func(t3 T3) R1 { + return fn(t1, t2, t3) + } +} + +func Partial33[R1, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3) + } +} + +func Partial3Ctx[R1, T1, T2, T3 any]( + t1 T1, + fn func(context.Context, T1, T2, T3) R1, +) func(context.Context, T2, T3) R1 { + return func(ctx context.Context, t2 T2, t3 T3) R1 { + return fn(ctx, t1, t2, t3) + } +} + +func Partial32Ctx[R1, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3) R1, +) func(context.Context, T3) R1 { + return func(ctx context.Context, t3 T3) R1 { + return fn(ctx, t1, t2, t3) + } +} + +func Partial33Ctx[R1, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3) + } +} + +func Partial3R2[R1, R2, T1, T2, T3 any]( + t1 T1, + fn func(T1, T2, T3) (R1, R2), +) func(T2, T3) (R1, R2) { + return func(t2 T2, t3 T3) (R1, R2) { + return fn(t1, t2, t3) + } +} + +func Partial32R2[R1, R2, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3) (R1, R2), +) func(T3) (R1, R2) { + return func(t3 T3) (R1, R2) { + return fn(t1, t2, t3) + } +} + +func Partial33R2[R1, R2, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3) + } +} + +func Partial3R2Ctx[R1, R2, T1, T2, T3 any]( + t1 T1, + fn func(context.Context, T1, T2, T3) (R1, R2), +) func(context.Context, T2, T3) (R1, R2) { + return func(ctx context.Context, t2 T2, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial32R2Ctx[R1, R2, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3) (R1, R2), +) func(context.Context, T3) (R1, R2) { + return func(ctx context.Context, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial33R2Ctx[R1, R2, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial3R3[R1, R2, R3, T1, T2, T3 any]( + t1 T1, + fn func(T1, T2, T3) (R1, R2, R3), +) func(T2, T3) (R1, R2, R3) { + return func(t2 T2, t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3) + } +} + +func Partial32R3[R1, R2, R3, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3) (R1, R2, R3), +) func(T3) (R1, R2, R3) { + return func(t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3) + } +} + +func Partial33R3[R1, R2, R3, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3) + } +} + +func Partial3R3Ctx[R1, R2, R3, T1, T2, T3 any]( + t1 T1, + fn func(context.Context, T1, T2, T3) (R1, R2, R3), +) func(context.Context, T2, T3) (R1, R2, R3) { + return func(ctx context.Context, t2 T2, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial32R3Ctx[R1, R2, R3, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3) (R1, R2, R3), +) func(context.Context, T3) (R1, R2, R3) { + return func(ctx context.Context, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial33R3Ctx[R1, R2, R3, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial3R4[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, + fn func(T1, T2, T3) (R1, R2, R3, R4), +) func(T2, T3) (R1, R2, R3, R4) { + return func(t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3) + } +} + +func Partial32R4[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3) (R1, R2, R3, R4), +) func(T3) (R1, R2, R3, R4) { + return func(t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3) + } +} + +func Partial33R4[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3) + } +} + +func Partial3R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), +) func(context.Context, T2, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial32R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), +) func(context.Context, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial33R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial3R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, + fn func(T1, T2, T3) (R1, R2, R3, R4, R5), +) func(T2, T3) (R1, R2, R3, R4, R5) { + return func(t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3) + } +} + +func Partial32R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3) (R1, R2, R3, R4, R5), +) func(T3) (R1, R2, R3, R4, R5) { + return func(t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3) + } +} + +func Partial33R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3) + } +} + +func Partial3R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), +) func(context.Context, T2, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial32R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), +) func(context.Context, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial33R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3) + } +} + +func Partial4Void[T1, T2, T3, T4 any]( + t1 T1, + fn func(T1, T2, T3, T4), +) func(T2, T3, T4) { + return func(t2 T2, t3 T3, t4 T4) { + fn(t1, t2, t3, t4) + } +} + +func Partial42Void[T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4), +) func(T3, T4) { + return func(t3 T3, t4 T4) { + fn(t1, t2, t3, t4) + } +} + +func Partial43Void[T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4), +) func(T4) { + return func(t4 T4) { + fn(t1, t2, t3, t4) + } +} + +func Partial44Void[T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4), +) func() { + return func() { + fn(t1, t2, t3, t4) + } +} + +func Partial4VoidCtx[T1, T2, T3, T4 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context, T2, T3, T4) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4) { + fn(ctx, t1, t2, t3, t4) + } +} + +func Partial42VoidCtx[T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context, T3, T4) { + return func(ctx context.Context, t3 T3, t4 T4) { + fn(ctx, t1, t2, t3, t4) + } +} + +func Partial43VoidCtx[T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context, T4) { + return func(ctx context.Context, t4 T4) { + fn(ctx, t1, t2, t3, t4) + } +} + +func Partial44VoidCtx[T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4) + } +} + +func Partial4[R1, T1, T2, T3, T4 any]( + t1 T1, + fn func(T1, T2, T3, T4) R1, +) func(T2, T3, T4) R1 { + return func(t2 T2, t3 T3, t4 T4) R1 { + return fn(t1, t2, t3, t4) + } +} + +func Partial42[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4) R1, +) func(T3, T4) R1 { + return func(t3 T3, t4 T4) R1 { + return fn(t1, t2, t3, t4) + } +} + +func Partial43[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4) R1, +) func(T4) R1 { + return func(t4 T4) R1 { + return fn(t1, t2, t3, t4) + } +} + +func Partial44[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4) + } +} + +func Partial4Ctx[R1, T1, T2, T3, T4 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context, T2, T3, T4) R1 { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial42Ctx[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context, T3, T4) R1 { + return func(ctx context.Context, t3 T3, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial43Ctx[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context, T4) R1 { + return func(ctx context.Context, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial44Ctx[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial4R2[R1, R2, T1, T2, T3, T4 any]( + t1 T1, + fn func(T1, T2, T3, T4) (R1, R2), +) func(T2, T3, T4) (R1, R2) { + return func(t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func Partial42R2[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4) (R1, R2), +) func(T3, T4) (R1, R2) { + return func(t3 T3, t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func Partial43R2[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4) (R1, R2), +) func(T4) (R1, R2) { + return func(t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func Partial44R2[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func Partial4R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context, T2, T3, T4) (R1, R2) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial42R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context, T3, T4) (R1, R2) { + return func(ctx context.Context, t3 T3, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial43R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context, T4) (R1, R2) { + return func(ctx context.Context, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial44R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial4R3[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func(T2, T3, T4) (R1, R2, R3) { + return func(t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func Partial42R3[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func(T3, T4) (R1, R2, R3) { + return func(t3 T3, t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func Partial43R3[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func(T4) (R1, R2, R3) { + return func(t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func Partial44R3[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func Partial4R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context, T2, T3, T4) (R1, R2, R3) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial42R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context, T3, T4) (R1, R2, R3) { + return func(ctx context.Context, t3 T3, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial43R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context, T4) (R1, R2, R3) { + return func(ctx context.Context, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial44R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial4R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func(T2, T3, T4) (R1, R2, R3, R4) { + return func(t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func Partial42R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func(T3, T4) (R1, R2, R3, R4) { + return func(t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func Partial43R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func(T4) (R1, R2, R3, R4) { + return func(t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func Partial44R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func Partial4R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context, T2, T3, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial42R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context, T3, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial43R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial44R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial4R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func Partial42R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(T3, T4) (R1, R2, R3, R4, R5) { + return func(t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func Partial43R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(T4) (R1, R2, R3, R4, R5) { + return func(t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func Partial44R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func Partial4R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial42R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context, T3, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial43R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial44R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func Partial5Void[T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5), +) func(T2, T3, T4, T5) { + return func(t2 T2, t3 T3, t4 T4, t5 T5) { + fn(t1, t2, t3, t4, t5) + } +} + +func Partial52Void[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5), +) func(T3, T4, T5) { + return func(t3 T3, t4 T4, t5 T5) { + fn(t1, t2, t3, t4, t5) + } +} + +func Partial53Void[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5), +) func(T4, T5) { + return func(t4 T4, t5 T5) { + fn(t1, t2, t3, t4, t5) + } +} + +func Partial54Void[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5), +) func(T5) { + return func(t5 T5) { + fn(t1, t2, t3, t4, t5) + } +} + +func Partial55Void[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5), +) func() { + return func() { + fn(t1, t2, t3, t4, t5) + } +} + +func Partial5VoidCtx[T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T2, T3, T4, T5) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial52VoidCtx[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T3, T4, T5) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial53VoidCtx[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T4, T5) { + return func(ctx context.Context, t4 T4, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial54VoidCtx[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T5) { + return func(ctx context.Context, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial55VoidCtx[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial5[R1, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5) R1, +) func(T2, T3, T4, T5) R1 { + return func(t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial52[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5) R1, +) func(T3, T4, T5) R1 { + return func(t3 T3, t4 T4, t5 T5) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial53[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5) R1, +) func(T4, T5) R1 { + return func(t4 T4, t5 T5) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial54[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5) R1, +) func(T5) R1 { + return func(t5 T5) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial55[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial5Ctx[R1, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T2, T3, T4, T5) R1 { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial52Ctx[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T3, T4, T5) R1 { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial53Ctx[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T4, T5) R1 { + return func(ctx context.Context, t4 T4, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial54Ctx[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T5) R1 { + return func(ctx context.Context, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial55Ctx[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial5R2[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T2, T3, T4, T5) (R1, R2) { + return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial52R2[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T3, T4, T5) (R1, R2) { + return func(t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial53R2[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T4, T5) (R1, R2) { + return func(t4 T4, t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial54R2[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T5) (R1, R2) { + return func(t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial55R2[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial5R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T2, T3, T4, T5) (R1, R2) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial52R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T3, T4, T5) (R1, R2) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial53R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T4, T5) (R1, R2) { + return func(ctx context.Context, t4 T4, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial54R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T5) (R1, R2) { + return func(ctx context.Context, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial55R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial5R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T2, T3, T4, T5) (R1, R2, R3) { + return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial52R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T3, T4, T5) (R1, R2, R3) { + return func(t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial53R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T4, T5) (R1, R2, R3) { + return func(t4 T4, t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial54R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T5) (R1, R2, R3) { + return func(t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial55R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial5R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T2, T3, T4, T5) (R1, R2, R3) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial52R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T3, T4, T5) (R1, R2, R3) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial53R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T4, T5) (R1, R2, R3) { + return func(ctx context.Context, t4 T4, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial54R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T5) (R1, R2, R3) { + return func(ctx context.Context, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial55R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial5R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial52R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T3, T4, T5) (R1, R2, R3, R4) { + return func(t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial53R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T4, T5) (R1, R2, R3, R4) { + return func(t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial54R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T5) (R1, R2, R3, R4) { + return func(t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial55R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial5R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial52R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T3, T4, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial53R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T4, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial54R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial55R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial5R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial52R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial53R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T4, T5) (R1, R2, R3, R4, R5) { + return func(t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial54R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T5) (R1, R2, R3, R4, R5) { + return func(t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial55R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func Partial5R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial52R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial53R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T4, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial54R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial55R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func Partial6Void[T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6), +) func(T2, T3, T4, T5, T6) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial62Void[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6), +) func(T3, T4, T5, T6) { + return func(t3 T3, t4 T4, t5 T5, t6 T6) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial63Void[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6), +) func(T4, T5, T6) { + return func(t4 T4, t5 T5, t6 T6) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial64Void[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6), +) func(T5, T6) { + return func(t5 T5, t6 T6) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial65Void[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6), +) func(T6) { + return func(t6 T6) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial66Void[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial6VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T2, T3, T4, T5, T6) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial62VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T3, T4, T5, T6) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial63VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T4, T5, T6) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial64VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T5, T6) { + return func(ctx context.Context, t5 T5, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial65VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T6) { + return func(ctx context.Context, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial66VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial6[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T2, T3, T4, T5, T6) R1 { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial62[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T3, T4, T5, T6) R1 { + return func(t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial63[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T4, T5, T6) R1 { + return func(t4 T4, t5 T5, t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial64[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T5, T6) R1 { + return func(t5 T5, t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial65[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T6) R1 { + return func(t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial66[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial6Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T2, T3, T4, T5, T6) R1 { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial62Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T3, T4, T5, T6) R1 { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial63Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T4, T5, T6) R1 { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial64Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T5, T6) R1 { + return func(ctx context.Context, t5 T5, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial65Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T6) R1 { + return func(ctx context.Context, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial66Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T2, T3, T4, T5, T6) (R1, R2) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T3, T4, T5, T6) (R1, R2) { + return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T4, T5, T6) (R1, R2) { + return func(t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T5, T6) (R1, R2) { + return func(t5 T5, t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T6) (R1, R2) { + return func(t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T2, T3, T4, T5, T6) (R1, R2) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T3, T4, T5, T6) (R1, R2) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T4, T5, T6) (R1, R2) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T5, T6) (R1, R2) { + return func(ctx context.Context, t5 T5, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T6) (R1, R2) { + return func(ctx context.Context, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T3, T4, T5, T6) (R1, R2, R3) { + return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T4, T5, T6) (R1, R2, R3) { + return func(t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T5, T6) (R1, R2, R3) { + return func(t5 T5, t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T6) (R1, R2, R3) { + return func(t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T3, T4, T5, T6) (R1, R2, R3) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T4, T5, T6) (R1, R2, R3) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T5, T6) (R1, R2, R3) { + return func(ctx context.Context, t5 T5, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T6) (R1, R2, R3) { + return func(ctx context.Context, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T4, T5, T6) (R1, R2, R3, R4) { + return func(t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T5, T6) (R1, R2, R3, R4) { + return func(t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T6) (R1, R2, R3, R4) { + return func(t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T4, T5, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T5, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T5, T6) (R1, R2, R3, R4, R5) { + return func(t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T6) (R1, R2, R3, R4, R5) { + return func(t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func Partial6R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial62R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial63R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial64R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T5, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial65R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial66R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func Partial7Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T2, T3, T4, T5, T6, T7) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T3, T4, T5, T6, T7) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T4, T5, T6, T7) { + return func(t4 T4, t5 T5, t6 T6, t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T5, T6, T7) { + return func(t5 T5, t6 T6, t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T6, T7) { + return func(t6 T6, t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T7) { + return func(t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T2, T3, T4, T5, T6, T7) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T3, T4, T5, T6, T7) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T4, T5, T6, T7) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T5, T6, T7) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T6, T7) { + return func(ctx context.Context, t6 T6, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T7) { + return func(ctx context.Context, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T2, T3, T4, T5, T6, T7) R1 { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T3, T4, T5, T6, T7) R1 { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T4, T5, T6, T7) R1 { + return func(t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T5, T6, T7) R1 { + return func(t5 T5, t6 T6, t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T6, T7) R1 { + return func(t6 T6, t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T7) R1 { + return func(t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T2, T3, T4, T5, T6, T7) R1 { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T3, T4, T5, T6, T7) R1 { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T4, T5, T6, T7) R1 { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T5, T6, T7) R1 { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T6, T7) R1 { + return func(ctx context.Context, t6 T6, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T7) R1 { + return func(ctx context.Context, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T2, T3, T4, T5, T6, T7) (R1, R2) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T3, T4, T5, T6, T7) (R1, R2) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T4, T5, T6, T7) (R1, R2) { + return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T5, T6, T7) (R1, R2) { + return func(t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T6, T7) (R1, R2) { + return func(t6 T6, t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T7) (R1, R2) { + return func(t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T3, T4, T5, T6, T7) (R1, R2) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T4, T5, T6, T7) (R1, R2) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T5, T6, T7) (R1, R2) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T6, T7) (R1, R2) { + return func(ctx context.Context, t6 T6, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T7) (R1, R2) { + return func(ctx context.Context, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T2, T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T4, T5, T6, T7) (R1, R2, R3) { + return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T5, T6, T7) (R1, R2, R3) { + return func(t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T6, T7) (R1, R2, R3) { + return func(t6 T6, t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T7) (R1, R2, R3) { + return func(t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T4, T5, T6, T7) (R1, R2, R3) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T5, T6, T7) (R1, R2, R3) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T6, T7) (R1, R2, R3) { + return func(ctx context.Context, t6 T6, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T7) (R1, R2, R3) { + return func(ctx context.Context, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T5, T6, T7) (R1, R2, R3, R4) { + return func(t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T6, T7) (R1, R2, R3, R4) { + return func(t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T7) (R1, R2, R3, R4) { + return func(t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T5, T6, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T6, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T6, T7) (R1, R2, R3, R4, R5) { + return func(t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T7) (R1, R2, R3, R4, R5) { + return func(t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial7R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial72R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial73R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial74R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial75R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T6, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial76R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial77R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func Partial8Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T2, T3, T4, T5, T6, T7, T8) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T3, T4, T5, T6, T7, T8) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T4, T5, T6, T7, T8) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T5, T6, T7, T8) { + return func(t5 T5, t6 T6, t7 T7, t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T6, T7, T8) { + return func(t6 T6, t7 T7, t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T7, T8) { + return func(t7 T7, t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T8) { + return func(t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T3, T4, T5, T6, T7, T8) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T4, T5, T6, T7, T8) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T5, T6, T7, T8) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T6, T7, T8) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T7, T8) { + return func(ctx context.Context, t7 T7, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T8) { + return func(ctx context.Context, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T2, T3, T4, T5, T6, T7, T8) R1 { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T3, T4, T5, T6, T7, T8) R1 { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T4, T5, T6, T7, T8) R1 { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T5, T6, T7, T8) R1 { + return func(t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T6, T7, T8) R1 { + return func(t6 T6, t7 T7, t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T7, T8) R1 { + return func(t7 T7, t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T8) R1 { + return func(t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T2, T3, T4, T5, T6, T7, T8) R1 { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T3, T4, T5, T6, T7, T8) R1 { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T4, T5, T6, T7, T8) R1 { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T5, T6, T7, T8) R1 { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T6, T7, T8) R1 { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T7, T8) R1 { + return func(ctx context.Context, t7 T7, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T8) R1 { + return func(ctx context.Context, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T3, T4, T5, T6, T7, T8) (R1, R2) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T4, T5, T6, T7, T8) (R1, R2) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T5, T6, T7, T8) (R1, R2) { + return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T6, T7, T8) (R1, R2) { + return func(t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T7, T8) (R1, R2) { + return func(t7 T7, t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T8) (R1, R2) { + return func(t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T4, T5, T6, T7, T8) (R1, R2) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T5, T6, T7, T8) (R1, R2) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T6, T7, T8) (R1, R2) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T7, T8) (R1, R2) { + return func(ctx context.Context, t7 T7, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T8) (R1, R2) { + return func(ctx context.Context, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T3, T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T5, T6, T7, T8) (R1, R2, R3) { + return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T6, T7, T8) (R1, R2, R3) { + return func(t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T7, T8) (R1, R2, R3) { + return func(t7 T7, t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T8) (R1, R2, R3) { + return func(t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T5, T6, T7, T8) (R1, R2, R3) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T6, T7, T8) (R1, R2, R3) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T7, T8) (R1, R2, R3) { + return func(ctx context.Context, t7 T7, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T8) (R1, R2, R3) { + return func(ctx context.Context, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T6, T7, T8) (R1, R2, R3, R4) { + return func(t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T7, T8) (R1, R2, R3, R4) { + return func(t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T8) (R1, R2, R3, R4) { + return func(t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T6, T7, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T7, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T7, T8) (R1, R2, R3, R4, R5) { + return func(t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T8) (R1, R2, R3, R4, R5) { + return func(t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial8R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial82R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial83R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial84R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial85R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial86R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T7, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial87R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial88R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func Partial9Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T2, T3, T4, T5, T6, T7, T8, T9) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T3, T4, T5, T6, T7, T8, T9) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T4, T5, T6, T7, T8, T9) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T5, T6, T7, T8, T9) { + return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T6, T7, T8, T9) { + return func(t6 T6, t7 T7, t8 T8, t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T7, T8, T9) { + return func(t7 T7, t8 T8, t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T8, T9) { + return func(t8 T8, t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T9) { + return func(t9 T9) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T3, T4, T5, T6, T7, T8, T9) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T4, T5, T6, T7, T8, T9) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T5, T6, T7, T8, T9) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T6, T7, T8, T9) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T7, T8, T9) { + return func(ctx context.Context, t7 T7, t8 T8, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T8, T9) { + return func(ctx context.Context, t8 T8, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T9) { + return func(ctx context.Context, t9 T9) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T2, T3, T4, T5, T6, T7, T8, T9) R1 { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T3, T4, T5, T6, T7, T8, T9) R1 { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T4, T5, T6, T7, T8, T9) R1 { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T5, T6, T7, T8, T9) R1 { + return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T6, T7, T8, T9) R1 { + return func(t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T7, T8, T9) R1 { + return func(t7 T7, t8 T8, t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T8, T9) R1 { + return func(t8 T8, t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T9) R1 { + return func(t9 T9) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) R1 { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T3, T4, T5, T6, T7, T8, T9) R1 { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T4, T5, T6, T7, T8, T9) R1 { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T5, T6, T7, T8, T9) R1 { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T6, T7, T8, T9) R1 { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T7, T8, T9) R1 { + return func(ctx context.Context, t7 T7, t8 T8, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T8, T9) R1 { + return func(ctx context.Context, t8 T8, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T9) R1 { + return func(ctx context.Context, t9 T9) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T4, T5, T6, T7, T8, T9) (R1, R2) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T5, T6, T7, T8, T9) (R1, R2) { + return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T6, T7, T8, T9) (R1, R2) { + return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T7, T8, T9) (R1, R2) { + return func(t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T8, T9) (R1, R2) { + return func(t8 T8, t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T9) (R1, R2) { + return func(t9 T9) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T5, T6, T7, T8, T9) (R1, R2) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T6, T7, T8, T9) (R1, R2) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T7, T8, T9) (R1, R2) { + return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T8, T9) (R1, R2) { + return func(ctx context.Context, t8 T8, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T9) (R1, R2) { + return func(ctx context.Context, t9 T9) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T4, T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T6, T7, T8, T9) (R1, R2, R3) { + return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T7, T8, T9) (R1, R2, R3) { + return func(t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T8, T9) (R1, R2, R3) { + return func(t8 T8, t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T9) (R1, R2, R3) { + return func(t9 T9) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T5, T6, T7, T8, T9) (R1, R2, R3) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T6, T7, T8, T9) (R1, R2, R3) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T7, T8, T9) (R1, R2, R3) { + return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T8, T9) (R1, R2, R3) { + return func(ctx context.Context, t8 T8, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T9) (R1, R2, R3) { + return func(ctx context.Context, t9 T9) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T7, T8, T9) (R1, R2, R3, R4) { + return func(t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T8, T9) (R1, R2, R3, R4) { + return func(t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T9) (R1, R2, R3, R4) { + return func(t9 T9) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T6, T7, T8, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T7, T8, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T8, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t8 T8, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T9) (R1, R2, R3, R4) { + return func(ctx context.Context, t9 T9) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T8, T9) (R1, R2, R3, R4, R5) { + return func(t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T9) (R1, R2, R3, R4, R5) { + return func(t9 T9) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial9R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial92R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial93R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial94R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial95R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial96R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T7, T8, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial97R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T8, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial98R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T9) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t9 T9) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func Partial99R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial2Void[T1, T2 any]( + t2 T2, + fn func(T1, T2), +) func(T1) { + return func(t1 T1) { + fn(t1, t2) + } +} + +func RPartial22Void[T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2), +) func() { + return func() { + fn(t1, t2) + } +} + +func RPartial2VoidCtx[T1, T2 any]( + t2 T2, + fn func(context.Context, T1, T2), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2) + } +} + +func RPartial22VoidCtx[T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2) + } +} + +func RPartial2[R1, T1, T2 any]( + t2 T2, + fn func(T1, T2) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2) + } +} + +func RPartial22[R1, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2) + } +} + +func RPartial2Ctx[R1, T1, T2 any]( + t2 T2, + fn func(context.Context, T1, T2) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2) + } +} + +func RPartial22Ctx[R1, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2) + } +} + +func RPartial2R2[R1, R2, T1, T2 any]( + t2 T2, + fn func(T1, T2) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2) + } +} + +func RPartial22R2[R1, R2, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2) + } +} + +func RPartial2R2Ctx[R1, R2, T1, T2 any]( + t2 T2, + fn func(context.Context, T1, T2) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2) + } +} + +func RPartial22R2Ctx[R1, R2, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2) + } +} + +func RPartial2R3[R1, R2, R3, T1, T2 any]( + t2 T2, + fn func(T1, T2) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2) + } +} + +func RPartial22R3[R1, R2, R3, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2) + } +} + +func RPartial2R3Ctx[R1, R2, R3, T1, T2 any]( + t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2) + } +} + +func RPartial22R3Ctx[R1, R2, R3, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2) + } +} + +func RPartial2R4[R1, R2, R3, R4, T1, T2 any]( + t2 T2, + fn func(T1, T2) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2) + } +} + +func RPartial22R4[R1, R2, R3, R4, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2) + } +} + +func RPartial2R4Ctx[R1, R2, R3, R4, T1, T2 any]( + t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2) + } +} + +func RPartial22R4Ctx[R1, R2, R3, R4, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2) + } +} + +func RPartial2R5[R1, R2, R3, R4, R5, T1, T2 any]( + t2 T2, + fn func(T1, T2) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2) + } +} + +func RPartial22R5[R1, R2, R3, R4, R5, T1, T2 any]( + t1 T1, t2 T2, + fn func(T1, T2) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2) + } +} + +func RPartial2R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( + t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2) + } +} + +func RPartial22R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( + t1 T1, t2 T2, + fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2) + } +} + +func RPartial3Void[T1, T2, T3 any]( + t3 T3, + fn func(T1, T2, T3), +) func(T1, T2) { + return func(t1 T1, t2 T2) { + fn(t1, t2, t3) + } +} + +func RPartial32Void[T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(T1, T2, T3), +) func(T1) { + return func(t1 T1) { + fn(t1, t2, t3) + } +} + +func RPartial33Void[T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3), +) func() { + return func() { + fn(t1, t2, t3) + } +} + +func RPartial3VoidCtx[T1, T2, T3 any]( + t3 T3, + fn func(context.Context, T1, T2, T3), +) func(context.Context, T1, T2) { + return func(ctx context.Context, t1 T1, t2 T2) { + fn(ctx, t1, t2, t3) + } +} + +func RPartial32VoidCtx[T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2, t3) + } +} + +func RPartial33VoidCtx[T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3) + } +} + +func RPartial3[R1, T1, T2, T3 any]( + t3 T3, + fn func(T1, T2, T3) R1, +) func(T1, T2) R1 { + return func(t1 T1, t2 T2) R1 { + return fn(t1, t2, t3) + } +} + +func RPartial32[R1, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(T1, T2, T3) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2, t3) + } +} + +func RPartial33[R1, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3) + } +} + +func RPartial3Ctx[R1, T1, T2, T3 any]( + t3 T3, + fn func(context.Context, T1, T2, T3) R1, +) func(context.Context, T1, T2) R1 { + return func(ctx context.Context, t1 T1, t2 T2) R1 { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial32Ctx[R1, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial33Ctx[R1, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial3R2[R1, R2, T1, T2, T3 any]( + t3 T3, + fn func(T1, T2, T3) (R1, R2), +) func(T1, T2) (R1, R2) { + return func(t1 T1, t2 T2) (R1, R2) { + return fn(t1, t2, t3) + } +} + +func RPartial32R2[R1, R2, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2, t3) + } +} + +func RPartial33R2[R1, R2, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3) + } +} + +func RPartial3R2Ctx[R1, R2, T1, T2, T3 any]( + t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2), +) func(context.Context, T1, T2) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial32R2Ctx[R1, R2, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial33R2Ctx[R1, R2, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial3R3[R1, R2, R3, T1, T2, T3 any]( + t3 T3, + fn func(T1, T2, T3) (R1, R2, R3), +) func(T1, T2) (R1, R2, R3) { + return func(t1 T1, t2 T2) (R1, R2, R3) { + return fn(t1, t2, t3) + } +} + +func RPartial32R3[R1, R2, R3, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2, t3) + } +} + +func RPartial33R3[R1, R2, R3, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3) + } +} + +func RPartial3R3Ctx[R1, R2, R3, T1, T2, T3 any]( + t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3), +) func(context.Context, T1, T2) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial32R3Ctx[R1, R2, R3, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial33R3Ctx[R1, R2, R3, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial3R4[R1, R2, R3, R4, T1, T2, T3 any]( + t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4), +) func(T1, T2) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2, t3) + } +} + +func RPartial32R4[R1, R2, R3, R4, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2, t3) + } +} + +func RPartial33R4[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3) + } +} + +func RPartial3R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( + t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), +) func(context.Context, T1, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial32R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial33R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial3R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4, R5), +) func(T1, T2) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3) + } +} + +func RPartial32R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3) + } +} + +func RPartial33R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(T1, T2, T3) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3) + } +} + +func RPartial3R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial32R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial33R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( + t1 T1, t2 T2, t3 T3, + fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3) + } +} + +func RPartial4Void[T1, T2, T3, T4 any]( + t4 T4, + fn func(T1, T2, T3, T4), +) func(T1, T2, T3) { + return func(t1 T1, t2 T2, t3 T3) { + fn(t1, t2, t3, t4) + } +} + +func RPartial42Void[T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(T1, T2, T3, T4), +) func(T1, T2) { + return func(t1 T1, t2 T2) { + fn(t1, t2, t3, t4) + } +} + +func RPartial43Void[T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4), +) func(T1) { + return func(t1 T1) { + fn(t1, t2, t3, t4) + } +} + +func RPartial44Void[T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4), +) func() { + return func() { + fn(t1, t2, t3, t4) + } +} + +func RPartial4VoidCtx[T1, T2, T3, T4 any]( + t4 T4, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context, T1, T2, T3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { + fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial42VoidCtx[T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context, T1, T2) { + return func(ctx context.Context, t1 T1, t2 T2) { + fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial43VoidCtx[T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial44VoidCtx[T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial4[R1, T1, T2, T3, T4 any]( + t4 T4, + fn func(T1, T2, T3, T4) R1, +) func(T1, T2, T3) R1 { + return func(t1 T1, t2 T2, t3 T3) R1 { + return fn(t1, t2, t3, t4) + } +} + +func RPartial42[R1, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(T1, T2, T3, T4) R1, +) func(T1, T2) R1 { + return func(t1 T1, t2 T2) R1 { + return fn(t1, t2, t3, t4) + } +} + +func RPartial43[R1, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2, t3, t4) + } +} + +func RPartial44[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4) + } +} + +func RPartial4Ctx[R1, T1, T2, T3, T4 any]( + t4 T4, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context, T1, T2, T3) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial42Ctx[R1, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context, T1, T2) R1 { + return func(ctx context.Context, t1 T1, t2 T2) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial43Ctx[R1, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial44Ctx[R1, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial4R2[R1, R2, T1, T2, T3, T4 any]( + t4 T4, + fn func(T1, T2, T3, T4) (R1, R2), +) func(T1, T2, T3) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial42R2[R1, R2, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2), +) func(T1, T2) (R1, R2) { + return func(t1 T1, t2 T2) (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial43R2[R1, R2, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial44R2[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial4R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context, T1, T2, T3) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial42R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context, T1, T2) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial43R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial44R2Ctx[R1, R2, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial4R3[R1, R2, R3, T1, T2, T3, T4 any]( + t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func(T1, T2, T3) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial42R3[R1, R2, R3, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func(T1, T2) (R1, R2, R3) { + return func(t1 T1, t2 T2) (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial43R3[R1, R2, R3, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial44R3[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial4R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context, T1, T2, T3) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial42R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context, T1, T2) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial43R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial44R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial4R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func(T1, T2, T3) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial42R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func(T1, T2) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial43R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial44R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial4R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial42R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context, T1, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial43R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial44R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial4R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial42R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(T1, T2) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial43R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial44R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4) + } +} + +func RPartial4R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial42R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial43R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial44R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( + t1 T1, t2 T2, t3 T3, t4 T4, + fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4) + } +} + +func RPartial5Void[T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(T1, T2, T3, T4, T5), +) func(T1, T2, T3, T4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) { + fn(t1, t2, t3, t4, t5) + } +} + +func RPartial52Void[T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5), +) func(T1, T2, T3) { + return func(t1 T1, t2 T2, t3 T3) { + fn(t1, t2, t3, t4, t5) + } +} + +func RPartial53Void[T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5), +) func(T1, T2) { + return func(t1 T1, t2 T2) { + fn(t1, t2, t3, t4, t5) + } +} + +func RPartial54Void[T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5), +) func(T1) { + return func(t1 T1) { + fn(t1, t2, t3, t4, t5) + } +} + +func RPartial55Void[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5), +) func() { + return func() { + fn(t1, t2, t3, t4, t5) + } +} + +func RPartial5VoidCtx[T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T1, T2, T3, T4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial52VoidCtx[T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T1, T2, T3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial53VoidCtx[T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T1, T2) { + return func(ctx context.Context, t1 T1, t2 T2) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial54VoidCtx[T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial55VoidCtx[T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial5[R1, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(T1, T2, T3, T4, T5) R1, +) func(T1, T2, T3, T4) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial52[R1, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) R1, +) func(T1, T2, T3) R1 { + return func(t1 T1, t2 T2, t3 T3) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial53[R1, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) R1, +) func(T1, T2) R1 { + return func(t1 T1, t2 T2) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial54[R1, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial55[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial5Ctx[R1, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T1, T2, T3, T4) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial52Ctx[R1, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T1, T2, T3) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial53Ctx[R1, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T1, T2) R1 { + return func(ctx context.Context, t1 T1, t2 T2) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial54Ctx[R1, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial55Ctx[R1, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial5R2[R1, R2, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T1, T2, T3, T4) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial52R2[R1, R2, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T1, T2, T3) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial53R2[R1, R2, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T1, T2) (R1, R2) { + return func(t1 T1, t2 T2) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial54R2[R1, R2, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial55R2[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial5R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T1, T2, T3, T4) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial52R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T1, T2, T3) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial53R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T1, T2) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial54R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial55R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial5R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T1, T2, T3, T4) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial52R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T1, T2, T3) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial53R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T1, T2) (R1, R2, R3) { + return func(t1 T1, t2 T2) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial54R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial55R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial5R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial52R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T1, T2, T3) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial53R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T1, T2) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial54R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial55R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial5R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial52R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T1, T2, T3) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial53R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T1, T2) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial54R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial55R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial5R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial52R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial53R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T1, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial54R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial55R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial5R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial52R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial53R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T1, T2) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial54R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial55R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5) + } +} + +func RPartial5R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial52R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial53R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial54R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial55R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, + fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5) + } +} + +func RPartial6Void[T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(T1, T2, T3, T4, T5, T6), +) func(T1, T2, T3, T4, T5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62Void[T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6), +) func(T1, T2, T3, T4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63Void[T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6), +) func(T1, T2, T3) { + return func(t1 T1, t2 T2, t3 T3) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64Void[T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6), +) func(T1, T2) { + return func(t1 T1, t2 T2) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65Void[T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6), +) func(T1) { + return func(t1 T1) { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66Void[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T1, T2, T3, T4, T5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T1, T2, T3, T4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T1, T2, T3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T1, T2) { + return func(ctx context.Context, t1 T1, t2 T2) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66VoidCtx[T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6[R1, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T1, T2, T3, T4, T5) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62[R1, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T1, T2, T3, T4) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63[R1, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T1, T2, T3) R1 { + return func(t1 T1, t2 T2, t3 T3) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64[R1, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T1, T2) R1 { + return func(t1 T1, t2 T2) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65[R1, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T1, T2, T3, T4, T5) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T1, T2, T3, T4) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T1, T2, T3) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T1, T2) R1 { + return func(ctx context.Context, t1 T1, t2 T2) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66Ctx[R1, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T1, T2, T3, T4, T5) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T1, T2, T3, T4) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T1, T2, T3) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T1, T2) (R1, R2) { + return func(t1 T1, t2 T2) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T1, T2, T3, T4) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T1, T2, T3) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T1, T2) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T1, T2, T3, T4) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T1, T2, T3) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T1, T2) (R1, R2, R3) { + return func(t1 T1, t2 T2) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T1, T2, T3) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T1, T2) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T1, T2, T3) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T1, T2) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T1, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T1, T2) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6) + } +} + +func RPartial6R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial62R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial63R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial64R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial65R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial66R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, + fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6) + } +} + +func RPartial7Void[T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T1, T2, T3, T4, T5, T6) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72Void[T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T1, T2, T3, T4, T5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73Void[T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T1, T2, T3, T4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74Void[T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T1, T2, T3) { + return func(t1 T1, t2 T2, t3 T3) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75Void[T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T1, T2) { + return func(t1 T1, t2 T2) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76Void[T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func(T1) { + return func(t1 T1) { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77Void[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T1, T2, T3, T4, T5, T6) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T1, T2, T3, T4, T5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T1, T2, T3, T4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T1, T2, T3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T1, T2) { + return func(ctx context.Context, t1 T1, t2 T2) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T1, T2, T3, T4, T5, T6) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T1, T2, T3, T4, T5) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T1, T2, T3, T4) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T1, T2, T3) R1 { + return func(t1 T1, t2 T2, t3 T3) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T1, T2) R1 { + return func(t1 T1, t2 T2) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T1, T2, T3, T4, T5, T6) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T1, T2, T3, T4, T5) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T1, T2, T3, T4) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T1, T2, T3) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T1, T2) R1 { + return func(ctx context.Context, t1 T1, t2 T2) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T1, T2, T3, T4, T5, T6) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T1, T2, T3, T4, T5) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T1, T2, T3, T4) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T1, T2, T3) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T1, T2) (R1, R2) { + return func(t1 T1, t2 T2) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T1, T2, T3, T4) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T1, T2, T3) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T1, T2) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T1, T2, T3, T4) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T1, T2, T3) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T1, T2) (R1, R2, R3) { + return func(t1 T1, t2 T2) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T1, T2, T3) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T1, T2) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T1, T2, T3) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T1, T2) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T1, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T1, T2) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial7R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial72R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial73R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial74R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial75R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial76R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial77R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7) + } +} + +func RPartial8Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T1, T2, T3, T4, T5, T6, T7) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T1, T2, T3, T4, T5, T6) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T1, T2, T3, T4, T5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T1, T2, T3, T4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T1, T2, T3) { + return func(t1 T1, t2 T2, t3 T3) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T1, T2) { + return func(t1 T1, t2 T2) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func(T1) { + return func(t1 T1) { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T1, T2, T3, T4, T5, T6) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T1, T2, T3, T4, T5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T1, T2, T3, T4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T1, T2, T3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T1, T2) { + return func(ctx context.Context, t1 T1, t2 T2) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T1, T2, T3, T4, T5, T6, T7) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T1, T2, T3, T4, T5, T6) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T1, T2, T3, T4, T5) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T1, T2, T3, T4) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T1, T2, T3) R1 { + return func(t1 T1, t2 T2, t3 T3) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T1, T2) R1 { + return func(t1 T1, t2 T2) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T1, T2, T3, T4, T5, T6) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T1, T2, T3, T4, T5) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T1, T2, T3, T4) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T1, T2, T3) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T1, T2) R1 { + return func(ctx context.Context, t1 T1, t2 T2) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T1, T2, T3, T4, T5, T6) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T1, T2, T3, T4, T5) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T1, T2, T3, T4) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T1, T2, T3) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T1, T2) (R1, R2) { + return func(t1 T1, t2 T2) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T1, T2, T3, T4) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T1, T2, T3) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T1, T2) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T1, T2, T3, T4) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T1, T2, T3) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T1, T2) (R1, R2, R3) { + return func(t1 T1, t2 T2) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T1, T2, T3) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T1, T2) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T1, T2, T3) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T1, T2) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T1, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T1, T2) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial8R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial82R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial83R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial84R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial85R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial86R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial87R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial88R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) + } +} + +func RPartial9Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1, T2, T3, T4, T5, T6, T7, T8) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1, T2, T3, T4, T5, T6, T7) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1, T2, T3, T4, T5, T6) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1, T2, T3, T4, T5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1, T2, T3, T4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1, T2, T3) { + return func(t1 T1, t2 T2, t3 T3) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1, T2) { + return func(t1 T1, t2 T2) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(T1) { + return func(t1 T1) { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func() { + return func() { + fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1, T2, T3, T4, T5, T6) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1, T2, T3, T4, T5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1, T2, T3, T4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1, T2, T3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1, T2) { + return func(ctx context.Context, t1 T1, t2 T2) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context, T1) { + return func(ctx context.Context, t1 T1) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), +) func(context.Context) { + return func(ctx context.Context) { + fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1, T2, T3, T4, T5, T6, T7, T8) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1, T2, T3, T4, T5, T6, T7) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1, T2, T3, T4, T5, T6) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1, T2, T3, T4, T5) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1, T2, T3, T4) R1 { + return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1, T2, T3) R1 { + return func(t1 T1, t2 T2, t3 T3) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1, T2) R1 { + return func(t1 T1, t2 T2) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(T1) R1 { + return func(t1 T1) R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func() R1 { + return func() R1 { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1, T2, T3, T4, T5, T6) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1, T2, T3, T4, T5) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1, T2, T3, T4) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1, T2, T3) R1 { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1, T2) R1 { + return func(ctx context.Context, t1 T1, t2 T2) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context, T1) R1 { + return func(ctx context.Context, t1 T1) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, +) func(context.Context) R1 { + return func(ctx context.Context) R1 { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1, T2, T3, T4, T5, T6) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1, T2, T3, T4, T5) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1, T2, T3, T4) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1, T2, T3) (R1, R2) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1, T2) (R1, R2) { + return func(t1 T1, t2 T2) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(T1) (R1, R2) { + return func(t1 T1) (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func() (R1, R2) { + return func() (R1, R2) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1, T2, T3, T4) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1, T2, T3) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1, T2) (R1, R2) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context, T1) (R1, R2) { + return func(ctx context.Context, t1 T1) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), +) func(context.Context) (R1, R2) { + return func(ctx context.Context) (R1, R2) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1, T2, T3, T4) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1, T2, T3) (R1, R2, R3) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1, T2) (R1, R2, R3) { + return func(t1 T1, t2 T2) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(T1) (R1, R2, R3) { + return func(t1 T1) (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func() (R1, R2, R3) { + return func() (R1, R2, R3) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1, T2, T3) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1, T2) (R1, R2, R3) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context, T1) (R1, R2, R3) { + return func(ctx context.Context, t1 T1) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), +) func(context.Context) (R1, R2, R3) { + return func(ctx context.Context) (R1, R2, R3) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1, T2, T3) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1, T2) (R1, R2, R3, R4) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(T1) (R1, R2, R3, R4) { + return func(t1 T1) (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func() (R1, R2, R3, R4) { + return func() (R1, R2, R3, R4) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1, T2) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context, T1) (R1, R2, R3, R4) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), +) func(context.Context) (R1, R2, R3, R4) { + return func(ctx context.Context) (R1, R2, R3, R4) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1, T2) (R1, R2, R3, R4, R5) { + return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(T1) (R1, R2, R3, R4, R5) { + return func(t1 T1) (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func() (R1, R2, R3, R4, R5) { + return func() (R1, R2, R3, R4, R5) { + return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial9R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial92R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial93R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial94R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial95R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial96R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial97R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial98R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context, T1) (R1, R2, R3, R4, R5) { + return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} + +func RPartial99R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, + fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), +) func(context.Context) (R1, R2, R3, R4, R5) { + return func(ctx context.Context) (R1, R2, R3, R4, R5) { + return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) + } +} From 48dc7d892fbc3d59bc0e6f990e1bb0b50c57becf Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 03:29:58 +0300 Subject: [PATCH 11/44] upgrade deps --- go.mod | 4 ++-- go.sum | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index defda9ea..95d1b817 100644 --- a/go.mod +++ b/go.mod @@ -9,8 +9,8 @@ go 1.24 require ( github.com/stretchr/testify v1.10.0 github.com/thoas/go-funk v0.9.3 - go.uber.org/goleak v1.2.1 - golang.org/x/text v0.22.0 + go.uber.org/goleak v1.3.0 + golang.org/x/text v0.27.0 ) require ( diff --git a/go.sum b/go.sum index 6b35edf0..4f6c6f50 100644 --- a/go.sum +++ b/go.sum @@ -18,8 +18,12 @@ github.com/thoas/go-funk v0.9.3 h1:7+nAEx3kn5ZJcnDm2Bh23N2yOtweO14bi//dvRtgLpw= github.com/thoas/go-funk v0.9.3/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 78cf6b3e924b3d3967e229e7602f5ea574c25ddd Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 13:35:49 +0300 Subject: [PATCH 12/44] loany --- loany/func.go | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ loany/map.go | 23 +++++++++++++ loany/slice.go | 23 +++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 loany/func.go create mode 100644 loany/map.go create mode 100644 loany/slice.go diff --git a/loany/func.go b/loany/func.go new file mode 100644 index 00000000..793cb4f8 --- /dev/null +++ b/loany/func.go @@ -0,0 +1,89 @@ +package loany + +import ( + "fmt" + "github.com/samber/lo/loslice" + "reflect" +) + +type argSource string + +const ( + fromArgs argSource = "args" + fromKwargs argSource = "kwargs" +) + +func errCall(index int, value any, source argSource, fnType reflect.Type, kwType reflect.Type) error { + typeName := fnType.In(index).Name() + argName := kwType.Field(index).Name + return fmt.Errorf("expected argument #%d (%s) to be of type `%s`, got from %s `%#v`", index+1, argName, source, typeName, value) +} + +// Call calls a function with the provided args and kwargs. +// Does not support variadic functions. +// Does not panic on invalid input, but returns an error instead. +func Call(fn any, args []any, kwargs any) ([]any, error) { + rvfn := reflect.ValueOf(fn) + rvkw := reflect.ValueOf(kwargs) + + tfn := rvfn.Type() + if tfn.Kind() != reflect.Func { + return nil, fmt.Errorf("expected function, got `%#v`", fn) + } + + if tfn.IsVariadic() { + return nil, fmt.Errorf("variadic functions are not supported, got `%#v`", fn) + } + + numIn := tfn.NumIn() + + if kwargs != nil { + if rvkw.Kind() == reflect.Pointer { + if rvkw.IsNil() { + return nil, fmt.Errorf("expected kwargs to be non-nil pointer, got %#v", kwargs) + } + rvkw = rvkw.Elem() + } + + if rvkw.Kind() != reflect.Struct { + return nil, fmt.Errorf("expected kwargs to be struct, got `%#v`", kwargs) + } + + if rvkw.NumField() != numIn { + return nil, fmt.Errorf("expected kwargs (`%T`) to have %d fields, got %d: %#v", + kwargs, numIn, rvkw.NumField(), kwargs) + } + } else if len(args) != numIn { + return nil, fmt.Errorf("no kwargs were provided, expected exactly %d args, got %d: %#v", numIn, len(args), args) + } + + var ( + val any + source argSource + ) + + rvargs := make([]reflect.Value, numIn) + + for i := range numIn { + if len(args) > 0 { + source = fromArgs + val = args[0] + } else if kwargs != nil { + source = fromKwargs + val = rvkw.Field(0).Interface() + } else { + panic("impossible: neither args nor kwargs were provided") + } + + rv := reflect.ValueOf(val) + tin := tfn.In(i) + + if !rv.CanConvert(tin) { + return nil, errCall(i, val, source, tfn, rvkw.Type()) + } + + rvargs[i] = rv.Convert(tin) + } + + return loslice.Map(rvfn.Call(rvargs), reflect.Value.Interface), nil +} diff --git a/loany/map.go b/loany/map.go new file mode 100644 index 00000000..d2ff595a --- /dev/null +++ b/loany/map.go @@ -0,0 +1,23 @@ +package loany + +func Map[K comparable, V any, Map ~map[K]V](m Map) map[K]any { + result := make(map[K]any, len(m)) + for k, v := range m { + result[k] = v + } + + return result +} + +// TypedMap converts a map of any type to a map of a specific type V. +// Values that cannot be converted to V will be omitted. +func TypedMap[V any, K comparable, Map ~map[K]any](m Map) map[K]V { + result := make(map[K]V, len(m)) + for k, v := range m { + if val, ok := v.(V); ok { + result[k] = val + } + } + + return result +} diff --git a/loany/slice.go b/loany/slice.go new file mode 100644 index 00000000..670f7d30 --- /dev/null +++ b/loany/slice.go @@ -0,0 +1,23 @@ +package loany + +func Slice[T any, Slice ~[]T](xs Slice) []any { + result := make([]any, len(xs)) + for i, x := range xs { + result[i] = x + } + + return result +} + +// TypedSlice converts a slice of any type to a slice of a specific type T. +// Values that cannot be converted to T will be omitted. +func TypedSlice[T any, Slice ~[]any](xs Slice) []T { + result := make([]T, 0, len(xs)) + for _, x := range xs { + if v, ok := x.(T); ok { + result = append(result, v) + } + } + + return result +} From 9c0d9c26020d3cef4d2ef87344663fd72dc1605d Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 13:36:21 +0300 Subject: [PATCH 13/44] take address of slice values --- mutslice/lomut.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mutslice/lomut.go b/mutslice/lomut.go index 9c453409..7badf936 100644 --- a/mutslice/lomut.go +++ b/mutslice/lomut.go @@ -1,3 +1,13 @@ // Package mutslice provides operations that mutates slices in place. // Or the result shares memory with the input slice. package mutslice + +// ToPointers converts a slice of values to a slice of pointers to those values. +func ToPointers[T any, Slice ~[]T](xs Slice) []*T { + result := make([]*T, len(xs)) + for i := range xs { + result[i] = &xs[i] + } + + return result +} From 745e95caaf9130456e2ae809cf2074d215ff9011 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 14:41:48 +0300 Subject: [PATCH 14/44] lotup access shortcuts --- lotup/access.go | 68 +++++++++++++++ lotup/internal/generate/access/access.gotmpl | 8 ++ .../generate/access/generate_access.go | 82 +++++++++++++++++++ .../generate/tuples/generate_tuples.go | 9 ++ .../generate/tuples/templates/last.gotmpl | 6 ++ lotup/tuples.go | 32 ++++++++ 6 files changed, 205 insertions(+) create mode 100644 lotup/access.go create mode 100644 lotup/internal/generate/access/access.gotmpl create mode 100644 lotup/internal/generate/access/generate_access.go create mode 100644 lotup/internal/generate/tuples/templates/last.gotmpl diff --git a/lotup/access.go b/lotup/access.go new file mode 100644 index 00000000..c5995982 --- /dev/null +++ b/lotup/access.go @@ -0,0 +1,68 @@ +// Code generated by generate_access.go; DO NOT EDIT. +package lotup + +//go:generate go run internal/generate/access/generate_access.go + +func First[T any](first T, _ any) T { + return first +} + +func Second[T any](_ any, second T) T { + return second +} + +func First3[T any](first T, _, _ any) T { + return first +} + +func Last3[T any](_, _ any, last T) T { + return last +} + +func First4[T any](first T, _, _, _ any) T { + return first +} + +func Last4[T any](_, _, _ any, last T) T { + return last +} + +func First5[T any](first T, _, _, _, _ any) T { + return first +} + +func Last5[T any](_, _, _, _ any, last T) T { + return last +} + +func First6[T any](first T, _, _, _, _, _ any) T { + return first +} + +func Last6[T any](_, _, _, _, _ any, last T) T { + return last +} + +func First7[T any](first T, _, _, _, _, _, _ any) T { + return first +} + +func Last7[T any](_, _, _, _, _, _ any, last T) T { + return last +} + +func First8[T any](first T, _, _, _, _, _, _, _ any) T { + return first +} + +func Last8[T any](_, _, _, _, _, _, _ any, last T) T { + return last +} + +func First9[T any](first T, _, _, _, _, _, _, _, _ any) T { + return first +} + +func Last9[T any](_, _, _, _, _, _, _, _ any, last T) T { + return last +} diff --git a/lotup/internal/generate/access/access.gotmpl b/lotup/internal/generate/access/access.gotmpl new file mode 100644 index 00000000..346e25c3 --- /dev/null +++ b/lotup/internal/generate/access/access.gotmpl @@ -0,0 +1,8 @@ + +func First{{ .N }}[T any](first T{{range $i := (sub .N 1) }}, _{{ end }} any) T { + return first +} + +func Last{{ .N }}[T any]({{range $i := (sub .N 1) }}{{ if ne $i 0 }}, {{ end }}_{{ end }} any, last T) T { + return last +} diff --git a/lotup/internal/generate/access/generate_access.go b/lotup/internal/generate/access/generate_access.go new file mode 100644 index 00000000..b7f9cfb5 --- /dev/null +++ b/lotup/internal/generate/access/generate_access.go @@ -0,0 +1,82 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/access/generate_access.go" + filename = "access.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed access.gotmpl + ofRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + "sub": func(x, y int) int { return x - y }, + } + ofTmpl := template.Must(template.New("of").Funcs(funcMap).Parse(ofRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_access.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + buf.WriteString(` +func First[T any](first T, _ any) T { + return first +} + +func Second[T any](_ any, second T) T { + return second +} +`) + + for n := 3; n <= argumentsLimit; n++ { + err := ofTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lotup/internal/generate/tuples/generate_tuples.go b/lotup/internal/generate/tuples/generate_tuples.go index d291b57e..b7bbee87 100644 --- a/lotup/internal/generate/tuples/generate_tuples.go +++ b/lotup/internal/generate/tuples/generate_tuples.go @@ -30,6 +30,9 @@ var ( //go:embed templates/unpack.gotmpl unpackRaw string + + //go:embed templates/last.gotmpl + lastRaw string ) type Variant struct { @@ -42,6 +45,7 @@ func main() { } classTmpl := template.Must(template.New("class").Funcs(funcMap).Parse(classRaw)) unpackTmpl := template.Must(template.New("unpack").Funcs(funcMap).Parse(unpackRaw)) + lastTmpl := template.Must(template.New("last").Funcs(funcMap).Parse(lastRaw)) pkg := detectPackageName() @@ -61,6 +65,11 @@ func main() { if err != nil { panic(err) } + + err = lastTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } } err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) diff --git a/lotup/internal/generate/tuples/templates/last.gotmpl b/lotup/internal/generate/tuples/templates/last.gotmpl new file mode 100644 index 00000000..c7b52ed7 --- /dev/null +++ b/lotup/internal/generate/tuples/templates/last.gotmpl @@ -0,0 +1,6 @@ +{{- define "tuple-type" -}} +Tuple{{ .N }}[{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }}] +{{- end }} +func (t {{ template "tuple-type" . }}) Last() T{{ .N }} { + return t.V{{ .N }} +} diff --git a/lotup/tuples.go b/lotup/tuples.go index 21ef491f..d62d7f65 100644 --- a/lotup/tuples.go +++ b/lotup/tuples.go @@ -12,6 +12,10 @@ func (t Tuple2[T1, T2]) Unpack() (T1, T2) { return t.V1, t.V2 } +func (t Tuple2[T1, T2]) Last() T2 { + return t.V2 +} + type Tuple3[T1, T2, T3 any] struct { V1 T1 V2 T2 @@ -22,6 +26,10 @@ func (t Tuple3[T1, T2, T3]) Unpack() (T1, T2, T3) { return t.V1, t.V2, t.V3 } +func (t Tuple3[T1, T2, T3]) Last() T3 { + return t.V3 +} + type Tuple4[T1, T2, T3, T4 any] struct { V1 T1 V2 T2 @@ -33,6 +41,10 @@ func (t Tuple4[T1, T2, T3, T4]) Unpack() (T1, T2, T3, T4) { return t.V1, t.V2, t.V3, t.V4 } +func (t Tuple4[T1, T2, T3, T4]) Last() T4 { + return t.V4 +} + type Tuple5[T1, T2, T3, T4, T5 any] struct { V1 T1 V2 T2 @@ -45,6 +57,10 @@ func (t Tuple5[T1, T2, T3, T4, T5]) Unpack() (T1, T2, T3, T4, T5) { return t.V1, t.V2, t.V3, t.V4, t.V5 } +func (t Tuple5[T1, T2, T3, T4, T5]) Last() T5 { + return t.V5 +} + type Tuple6[T1, T2, T3, T4, T5, T6 any] struct { V1 T1 V2 T2 @@ -58,6 +74,10 @@ func (t Tuple6[T1, T2, T3, T4, T5, T6]) Unpack() (T1, T2, T3, T4, T5, T6) { return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6 } +func (t Tuple6[T1, T2, T3, T4, T5, T6]) Last() T6 { + return t.V6 +} + type Tuple7[T1, T2, T3, T4, T5, T6, T7 any] struct { V1 T1 V2 T2 @@ -72,6 +92,10 @@ func (t Tuple7[T1, T2, T3, T4, T5, T6, T7]) Unpack() (T1, T2, T3, T4, T5, T6, T7 return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6, t.V7 } +func (t Tuple7[T1, T2, T3, T4, T5, T6, T7]) Last() T7 { + return t.V7 +} + type Tuple8[T1, T2, T3, T4, T5, T6, T7, T8 any] struct { V1 T1 V2 T2 @@ -87,6 +111,10 @@ func (t Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]) Unpack() (T1, T2, T3, T4, T5, T6 return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6, t.V7, t.V8 } +func (t Tuple8[T1, T2, T3, T4, T5, T6, T7, T8]) Last() T8 { + return t.V8 +} + type Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct { V1 T1 V2 T2 @@ -102,3 +130,7 @@ type Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct { func (t Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Unpack() (T1, T2, T3, T4, T5, T6, T7, T8, T9) { return t.V1, t.V2, t.V3, t.V4, t.V5, t.V6, t.V7, t.V8, t.V9 } + +func (t Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Last() T9 { + return t.V9 +} From 49f6d5db0fe9e75b7f4ee78ad4c1e9fb8ec026da Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 14:42:10 +0300 Subject: [PATCH 15/44] loslice find functions --- loslice/find.go | 216 +++++++++++++++++++++++++++++++++++++++++++++++ loslice/logic.go | 64 ++++++++++++++ 2 files changed, 280 insertions(+) create mode 100644 loslice/find.go create mode 100644 loslice/logic.go diff --git a/loslice/find.go b/loslice/find.go new file mode 100644 index 00000000..eaa98043 --- /dev/null +++ b/loslice/find.go @@ -0,0 +1,216 @@ +package loslice + +import "slices" + +func IndexVal[T comparable, Slice ~[]T](xs Slice, val T) (index int, ok bool) { + if i := slices.Index(xs, val); i >= 0 { + return i, true + } + + return +} + +func Index[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (index int, ok bool) { + if i := slices.IndexFunc(xs, pred); i >= 0 { + return i, true + } + + return +} + +func IIndex[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (index int, ok bool) { + for i, x := range xs { + if ipred(i, x) { + return i, true + } + } + + return +} + +func RIndexVal[T comparable, Slice ~[]T](xs Slice, val T) (index int, ok bool) { + for i := len(xs) - 1; i >= 0; i-- { + if xs[i] == val { + return i, true + } + } + + return +} + +func RIndex[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (index int, ok bool) { + for i := len(xs) - 1; i >= 0; i-- { + if pred(xs[i]) { + return i, true + } + } + + return +} + +func IRIndex[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (index int, ok bool) { + for i := len(xs) - 1; i >= 0; i-- { + if ipred(i, xs[i]) { + return i, true + } + } + + return +} + +func IndicesVal[T comparable, Slice ~[]T](xs Slice, val T) (indices []int) { + indices = make([]int, 0, CountVal(xs, val)) + for i, x := range xs { + if x == val { + indices = append(indices, i) + } + } + + return +} + +func RIndicesVal[T comparable, Slice ~[]T](xs Slice, val T) (indices []int) { + indices = IndicesVal(xs, val) + slices.Reverse(indices) + + return +} + +func Indices[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (indices []int) { + indices = make([]int, 0, Count(xs, pred)) + for i, x := range xs { + if pred(x) { + indices = append(indices, i) + } + } + + return +} + +func RIndices[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (indices []int) { + indices = Indices(xs, pred) + slices.Reverse(indices) + + return +} + +func IIndices[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (indices []int) { + indices = make([]int, 0, ICount(xs, ipred)) + for i, x := range xs { + if ipred(i, x) { + indices = append(indices, i) + } + } + + return +} + +func IRIndices[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (indices []int) { + indices = IIndices(xs, ipred) + slices.Reverse(indices) + + return +} + +// IndicesNVal returns the first n indices of the value in the slice. +// Supports negative n to get the last n indices. +func IndicesNVal[T comparable, Slice ~[]T](xs Slice, n int, val T) (indices []int) { + if n == 0 { + return IndicesVal(xs, val) + } + + if n > 0 { + if n >= len(xs) { + return IndicesVal(xs, val) + } + + indices = make([]int, 0, n) + for i := 0; i < len(xs) && len(indices) < n; i++ { + if xs[i] == val { + indices = append(indices, i) + } + } + } else { + n = -n + if n >= len(xs) { + return RIndicesVal(xs, val) + } + + indices = make([]int, 0, n) + for i := len(xs) - 1; i >= 0 && len(indices) < n; i-- { + if xs[i] == val { + indices = append(indices, i) + } + } + } + + return +} + +// IndicesN returns the first n indices of the elements that satisfy the predicate in the slice. +func IndicesN[T any, Slice ~[]T](xs Slice, n int, pred func(item T) bool) (indices []int) { + if n == 0 { + return Indices(xs, pred) + } + + if n > 0 { + if n >= len(xs) { + return Indices(xs, pred) + } + + indices = make([]int, 0, n) + for i := 0; i < len(xs) && len(indices) < n; i++ { + if pred(xs[i]) { + indices = append(indices, i) + } + } + } else { + n = -n + if n >= len(xs) { + return RIndices(xs, pred) + } + + indices = make([]int, 0, n) + for i := len(xs) - 1; i >= 0 && len(indices) < n; i-- { + if pred(xs[i]) { + indices = append(indices, i) + } + } + } + + return +} + +// IIndicesN returns the first n indices of the elements that satisfy the predicate in the slice, with access to the index. +func IIndicesN[T any, Slice ~[]T](xs Slice, n int, ipred func(int, T) bool) (indices []int) { + if n == 0 { + return IIndices(xs, ipred) + } + + if n > 0 { + if n >= len(xs) { + return IIndices(xs, ipred) + } + + indices = make([]int, 0, n) + for i := 0; i < len(xs) && len(indices) < n; i++ { + if ipred(i, xs[i]) { + indices = append(indices, i) + } + } + } else { + n = -n + if n >= len(xs) { + return IRIndices(xs, ipred) + } + + indices = make([]int, 0, n) + for i := len(xs) - 1; i >= 0 && len(indices) < n; i-- { + if ipred(i, xs[i]) { + indices = append(indices, i) + } + } + } + + return +} diff --git a/loslice/logic.go b/loslice/logic.go new file mode 100644 index 00000000..72e7ef58 --- /dev/null +++ b/loslice/logic.go @@ -0,0 +1,64 @@ +package loslice + +import ( + "github.com/samber/lo/lotup" + "slices" +) + +// ContainsVal checks if there is at least one element in the slice that equals the given value. +// Supports early exit, so it will stop checking as soon as it finds a match. +func ContainsVal[T comparable, Slice ~[]T](xs Slice, val T) bool { + return slices.Contains(xs, val) +} + +func WithoutVal[T comparable, Slice ~[]T](xs Slice, val T) bool { + return !ContainsVal(xs, val) +} + +// Contains checks if there is at least one element in the slice that satisfies the predicate. +func Contains[T any, Slice ~[]T](xs Slice, pred func(item T) bool) bool { + return lotup.Second(Index(xs, pred)) +} + +func Without[T any, Slice ~[]T](xs Slice, pred func(item T) bool) bool { + return !Contains(xs, pred) +} + +// IContains checks if there is at least one element in the slice that satisfies the indexed predicate. +func IContains[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) bool { + return lotup.Second(IIndex(xs, ipred)) +} + +func IWithout[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) bool { + return !IContains(xs, ipred) +} + +func EveryVal[T comparable, Slice ~[]T](xs Slice, val T) bool { + for _, x := range xs { + if x != val { + return false + } + } + + return true +} + +func Every[T any, Slice ~[]T](xs Slice, pred func(item T) bool) bool { + for _, x := range xs { + if !pred(x) { + return false + } + } + + return true +} + +func IEvery[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) bool { + for i, x := range xs { + if !ipred(i, x) { + return false + } + } + + return true +} From 46fffa182bdf91c38f3f66bd4773b4dc4c7e9de0 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 18:19:48 +0300 Subject: [PATCH 16/44] loset functions --- loset/mutation.go | 23 ++++++++ loset/operations.go | 125 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 loset/mutation.go create mode 100644 loset/operations.go diff --git a/loset/mutation.go b/loset/mutation.go new file mode 100644 index 00000000..41eb3dc7 --- /dev/null +++ b/loset/mutation.go @@ -0,0 +1,23 @@ +package loset + +import "maps" + +func KeepCommon[T comparable, Set ~map[T]struct{}](self, other Set) { + for k := range self { + if _, ok := other[k]; !ok { + delete(self, k) + } + } +} + +func Subtract[T comparable, Set ~map[T]struct{}](self, other Set) { + for k := range self { + if _, ok := other[k]; ok { + delete(self, k) + } + } +} + +func Add[T comparable, Set ~map[T]struct{}](self Set, other Set) { + maps.Copy(self, other) +} diff --git a/loset/operations.go b/loset/operations.go new file mode 100644 index 00000000..0a1c9560 --- /dev/null +++ b/loset/operations.go @@ -0,0 +1,125 @@ +package loset + +import ( + "github.com/samber/lo/loslice" + "github.com/samber/lo/lotup" + "maps" +) + +func Intersection[T comparable, Set ~map[T]struct{}](a, b Set) (intersection Set) { + if len(b) < len(a) { + // swap a and b to ensure a is the smaller set + a, b = b, a + } + + intersection = make(Set, len(a)) + for k := range a { + if _, ok := b[k]; ok { + intersection[k] = struct{}{} + } + } + + return +} + +func GroupIntersection[T comparable, Set ~map[T]struct{}](sets ...Set) (intersection Set) { + if len(sets) == 0 { + return nil + } + + // look for the smallest set to reduce iterations + i := lotup.First(loslice.ArgMin(sets, func(s Set) int { return len(s) })) + intersection = maps.Clone(sets[i]) + + copy(sets[i:], sets[i+1:]) + sets = sets[:len(sets)-1] + + for it := range intersection { + for _, set := range sets { + if _, ok := set[it]; !ok { + delete(intersection, it) + break + } + } + } + + return intersection +} + +func Union[T comparable, Set ~map[T]struct{}](a, b Set) (union Set) { + if len(b) > len(a) { + // swap a and b to ensure a is the larger set + a, b = b, a + } + + union = maps.Clone(a) + maps.Copy(union, b) + + return union +} + +func GroupUnion[T comparable, Set ~map[T]struct{}](sets ...Set) (union Set) { + if len(sets) == 0 { + return nil + } + + union = make(Set) + for _, set := range sets { + maps.Copy(union, set) + } + + return union +} + +func Difference[T comparable, Set ~map[T]struct{}](a, b Set) (difference Set) { + difference = make(Set, len(a)) + for k := range a { + if _, ok := b[k]; !ok { + difference[k] = struct{}{} + } + } + + return +} + +func SymmetricDifference[T comparable, Set ~map[T]struct{}](a, b Set) (symmetricDifference Set) { + if len(b) > len(a) { + // swap a and b to ensure a is the larger set + a, b = b, a + } + + symmetricDifference = maps.Clone(a) + + for k := range b { + if _, ok := a[k]; ok { + delete(symmetricDifference, k) + } else { + symmetricDifference[k] = struct{}{} + } + } + + return symmetricDifference +} + +func GroupSymmetricDifference[T comparable, Set ~map[T]struct{}](sets ...Set) (symmetricDifference Set) { + if len(sets) == 0 { + return nil + } + + rejected := make(Set) + symmetricDifference = make(Set) + for _, s := range sets { + for k := range s { + if _, ok := rejected[k]; ok { + continue + } else if _, ok := symmetricDifference[k]; ok { + rejected[k] = struct{}{} + delete(symmetricDifference, k) + } else { + symmetricDifference[k] = struct{}{} + } + } + } + + return symmetricDifference +} From a1d09469477bbf6a958c17c5a30af1ac254c31eb Mon Sep 17 00:00:00 2001 From: sr9000 Date: Sun, 20 Jul 2025 18:22:02 +0300 Subject: [PATCH 17/44] loslice minmax functions --- loslice/min_n_max.go | 606 +++++++++++++++++++++++++++++++++++++++++++ loslice/table.go | 7 +- loslice/uniq.go | 16 +- 3 files changed, 621 insertions(+), 8 deletions(-) create mode 100644 loslice/min_n_max.go diff --git a/loslice/min_n_max.go b/loslice/min_n_max.go new file mode 100644 index 00000000..d52f1630 --- /dev/null +++ b/loslice/min_n_max.go @@ -0,0 +1,606 @@ +package loslice + +import "cmp" + +func MinVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { + if len(xs) == 0 { + var zero T + return zero + } + + res := xs[0] + for _, x := range xs[1:] { + if x < res { + res = x + } + } + + return res +} + +func ArgMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { + if len(xs) == 0 { + return 0 + } + + index := 0 + for i, x := range xs[1:] { + if x < xs[index] { + index = i + 1 + } + } + + return index +} + +func Min[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { + if len(xs) == 0 { + return + } + + t, k = xs[0], fkey(xs[0]) + for _, x := range xs[1:] { + if v := fkey(x); v < k { + t, k = x, v + } + } + + return +} + +func ArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { + if len(xs) == 0 { + return 0, k + } + + index = 0 + k = fkey(xs[0]) + for i, x := range xs[1:] { + if v := fkey(x); v < k { + index, k = i+1, v // +1 because we skipped the first element + } + } + + return +} + +func IMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, k K) { + if len(xs) == 0 { + return + } + + t, k = xs[0], ikey(0, xs[0]) + for i, x := range xs[1:] { + if v := ikey(i+1, x); v < k { // +1 because we skipped the first element + t, k = x, v + } + } + + return +} + +func IArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { + if len(xs) == 0 { + return 0, k + } + + index = 0 + k = ikey(0, xs[0]) + for i, x := range xs[1:] { + if v := ikey(i+1, x); v < k { // +1 because we skipped the first element + index, k = i+1, v + } + } + + return +} + +func RMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { + if len(xs) == 0 { + var zero T + return zero + } + + last := len(xs) - 1 + res := xs[last] + for i := last - 1; i >= 0; i-- { + if x := xs[i]; x < res { + res = x + } + } + + return res +} + +func RArgMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { + if len(xs) == 0 { + return 0 + } + + last := len(xs) - 1 + index := last + for i := last - 1; i >= 0; i-- { + if xs[i] < xs[index] { + index = i + } + } + + return index +} + +func RMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { + if len(xs) == 0 { + return + } + + last := len(xs) - 1 + t, k = xs[last], fkey(xs[last]) + for i := last - 1; i >= 0; i-- { + if v := fkey(xs[i]); v < k { + t, k = xs[i], v + } + } + + return +} + +func RArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { + if len(xs) == 0 { + return + } + + last := len(xs) - 1 + index, k = last, fkey(xs[last]) + for i := last - 1; i >= 0; i-- { + if v := fkey(xs[i]); v < k { + index, k = i, v + } + } + + return +} + +func IRMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(int, T) K) (t T, k K) { + if len(xs) == 0 { + return + } + + last := len(xs) - 1 + t, k = xs[last], fkey(last, xs[last]) + for i := last - 1; i >= 0; i-- { + if v := fkey(i, xs[i]); v < k { + t, k = xs[i], v + } + } + + return +} + +func IRArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { + if len(xs) == 0 { + return + } + + last := len(xs) - 1 + index, k = last, ikey(last, xs[last]) + for i := last - 1; i >= 0; i-- { + if v := ikey(i, xs[i]); v < k { + index, k = i, v + } + } + + return +} + +func MaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { + if len(xs) == 0 { + var zero T + return zero + } + res := xs[0] + for _, x := range xs[1:] { + if x > res { + res = x + } + } + return res +} + +func ArgMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { + if len(xs) == 0 { + return 0 + } + index := 0 + for i, x := range xs[1:] { + if x > xs[index] { + index = i + 1 + } + } + return index +} + +func Max[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { + if len(xs) == 0 { + return + } + t, k = xs[0], fkey(xs[0]) + for _, x := range xs[1:] { + if v := fkey(x); v > k { + t, k = x, v + } + } + return +} + +func ArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { + if len(xs) == 0 { + return 0, k + } + index = 0 + k = fkey(xs[0]) + for i, x := range xs[1:] { + if v := fkey(x); v > k { + index, k = i+1, v + } + } + return +} + +func IMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, k K) { + if len(xs) == 0 { + return + } + t, k = xs[0], ikey(0, xs[0]) + for i, x := range xs[1:] { + if v := ikey(i+1, x); v > k { + t, k = x, v + } + } + return +} + +func IArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { + if len(xs) == 0 { + return 0, k + } + index = 0 + k = ikey(0, xs[0]) + for i, x := range xs[1:] { + if v := ikey(i+1, x); v > k { + index, k = i+1, v + } + } + return +} + +func RMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { + if len(xs) == 0 { + var zero T + return zero + } + last := len(xs) - 1 + res := xs[last] + for i := last - 1; i >= 0; i-- { + if x := xs[i]; x > res { + res = x + } + } + return res +} + +func RArgMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { + if len(xs) == 0 { + return 0 + } + last := len(xs) - 1 + index := last + for i := last - 1; i >= 0; i-- { + if xs[i] > xs[index] { + index = i + } + } + return index +} + +func RMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { + if len(xs) == 0 { + return + } + last := len(xs) - 1 + t, k = xs[last], fkey(xs[last]) + for i := last - 1; i >= 0; i-- { + if v := fkey(xs[i]); v > k { + t, k = xs[i], v + } + } + return +} + +func RArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { + if len(xs) == 0 { + return + } + last := len(xs) - 1 + index, k = last, fkey(xs[last]) + for i := last - 1; i >= 0; i-- { + if v := fkey(xs[i]); v > k { + index, k = i, v + } + } + return +} + +func IRMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, k K) { + if len(xs) == 0 { + return + } + last := len(xs) - 1 + t, k = xs[last], ikey(last, xs[last]) + for i := last - 1; i >= 0; i-- { + if v := ikey(i, xs[i]); v > k { + t, k = xs[i], v + } + } + return +} + +func IRArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { + if len(xs) == 0 { + return + } + last := len(xs) - 1 + index, k = last, ikey(last, xs[last]) + for i := last - 1; i >= 0; i-- { + if v := ikey(i, xs[i]); v > k { + index, k = i, v + } + } + return +} + +// MinCmp forward min using cmpFn +func MinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + res := xs[0] + for _, x := range xs[1:] { + if cmpFn(x, res) < 0 { + res = x + } + } + return res +} + +// MaxCmp forward max using cmpFn +func MaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + res := xs[0] + for _, x := range xs[1:] { + if cmpFn(x, res) > 0 { + res = x + } + } + return res +} + +// RMinCmp reverse min using cmpFn +func RMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + last := len(xs) - 1 + res := xs[last] + for i := last - 1; i >= 0; i-- { + if cmpFn(xs[i], res) < 0 { + res = xs[i] + } + } + return res +} + +// RMaxCmp reverse max using cmpFn +func RMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + last := len(xs) - 1 + res := xs[last] + for i := last - 1; i >= 0; i-- { + if cmpFn(xs[i], res) > 0 { + res = xs[i] + } + } + return res +} + +// IMinCmp forward min using index-aware cmpFn +func IMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + index := 0 + res := xs[0] + for i, x := range xs[1:] { + if cmpFn(i+1, index, x, res) < 0 { + index = i + 1 // +1 because we skipped the first element + res = x + } + } + return res +} + +// IMaxCmp forward max using index-aware cmpFn +func IMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + + index := 0 + res := xs[0] + for i, x := range xs[1:] { + if cmpFn(i+1, index, x, res) > 0 { + index = i + 1 // +1 because we skipped the first element + res = x + } + } + return res +} + +// IRMinCmp reverse min using index-aware cmpFn +func IRMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + index := len(xs) - 1 + res := xs[index] + for i := index - 1; i >= 0; i-- { + if cmpFn(i, index, xs[i], res) < 0 { + index = i + res = xs[i] + } + } + return res +} + +// IRMaxCmp reverse max using index-aware cmpFn +func IRMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { + if len(xs) == 0 { + var zero T + return zero + } + index := len(xs) - 1 + res := xs[index] + for i := index - 1; i >= 0; i-- { + if cmpFn(i, index, xs[i], res) > 0 { + index = i + res = xs[i] + } + } + return res +} + +// ArgMinCmp forward min index using cmpFn +func ArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { + if len(xs) == 0 { + return 0 + } + index := 0 + for i, x := range xs[1:] { + if cmpFn(x, xs[index]) < 0 { + index = i + 1 + } + } + return index +} + +// ArgMaxCmp forward max index using cmpFn +func ArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { + if len(xs) == 0 { + return 0 + } + index := 0 + for i, x := range xs[1:] { + if cmpFn(x, xs[index]) > 0 { + index = i + 1 + } + } + return index +} + +// RArgMinCmp reverse min index using cmpFn +func RArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { + if len(xs) == 0 { + return 0 + } + last := len(xs) - 1 + index := last + for i := last - 1; i >= 0; i-- { + if cmpFn(xs[i], xs[index]) < 0 { + index = i + } + } + return index +} + +// RArgMaxCmp reverse max index using cmpFn +func RArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { + if len(xs) == 0 { + return 0 + } + last := len(xs) - 1 + index := last + for i := last - 1; i >= 0; i-- { + if cmpFn(xs[i], xs[index]) > 0 { + index = i + } + } + return index +} + +// IArgMinCmp forward min index using index-aware cmpFn +func IArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { + if len(xs) == 0 { + return 0 + } + index := 0 + for i, x := range xs[1:] { + if cmpFn(i+1, index, x, xs[index]) < 0 { + index = i + 1 + } + } + return index +} + +// IArgMaxCmp forward max index using index-aware cmpFn +func IArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { + if len(xs) == 0 { + return 0 + } + index := 0 + for i, x := range xs[1:] { + if cmpFn(i+1, index, x, xs[index]) > 0 { + index = i + 1 + } + } + return index +} + +// IRArgMinCmp reverse min index using index-aware cmpFn +func IRArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { + if len(xs) == 0 { + return 0 + } + last := len(xs) - 1 + index := last + for i := last - 1; i >= 0; i-- { + if cmpFn(i, index, xs[i], xs[index]) < 0 { + index = i + } + } + return index +} + +// IRArgMaxCmp reverse max index using index-aware cmpFn +func IRArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { + if len(xs) == 0 { + return 0 + } + last := len(xs) - 1 + index := last + for i := last - 1; i >= 0; i-- { + if cmpFn(i, index, xs[i], xs[index]) > 0 { + index = i + } + } + return index +} diff --git a/loslice/table.go b/loslice/table.go index 3ba400ab..6a5cc859 100644 --- a/loslice/table.go +++ b/loslice/table.go @@ -20,9 +20,10 @@ func Flatten[T any, Slice ~[]T](table ...Slice) Slice { func Transpose[T any, Slice ~[]T](table ...Slice) []Slice { n := len(table) - if n == 0 { + switch n { + case 0: return nil - } else if n == 1 { + case 1: xs := table[0] result := make([]Slice, len(xs)) for i := range xs { @@ -32,7 +33,7 @@ func Transpose[T any, Slice ~[]T](table ...Slice) []Slice { return result } - sizes := Map(table, len) + sizes := Map(table, func(s Slice) int { return len(s) }) sizes = Uniq(sizes) if len(sizes) == 1 { // all table have the same size diff --git a/loslice/uniq.go b/loslice/uniq.go index 9e109d1e..0162b1aa 100644 --- a/loslice/uniq.go +++ b/loslice/uniq.go @@ -1,11 +1,17 @@ package loslice -import "github.com/samber/lo/loset" - // Uniq returns a duplicate-free version not an array, in which only the first occurrence not each element is kept. // The order not result values is determined by the order they occur in the array. -// Play: https://go.dev/play/p/DTzbeXZ6iEN func Uniq[T comparable, Slice ~[]T](xs Slice) Slice { - set := loset.FromSlice(xs) - return Slice(loset.ToSlice(set)) + m := make(map[T]struct{}, len(xs)) + for _, x := range xs { + m[x] = struct{}{} + } + + res := make(Slice, 0, len(m)) + for x := range m { + res = append(res, x) + } + + return res } From 410fedeb064bfc3d5aa85e54fff0726a650288c6 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Mon, 21 Jul 2025 00:33:06 +0300 Subject: [PATCH 18/44] lofn getters --- lofn/cmp.go | 13 + .../generate/optional/generate_optional.go | 72 +++ .../generate/optional/optional.gotmpl | 56 +++ lofn/optional.go | 436 ++++++++++++++++++ 4 files changed, 577 insertions(+) create mode 100644 lofn/cmp.go create mode 100644 lofn/internal/generate/optional/generate_optional.go create mode 100644 lofn/internal/generate/optional/optional.gotmpl create mode 100644 lofn/optional.go diff --git a/lofn/cmp.go b/lofn/cmp.go new file mode 100644 index 00000000..d1537aa8 --- /dev/null +++ b/lofn/cmp.go @@ -0,0 +1,13 @@ +package lofn + +func CmpFromLess[T any](less func(a, b T) bool) func(a, b T) int { + return func(a, b T) int { + if less(a, b) { + return -1 + } else if less(b, a) { + return 1 + } else { + return 0 + } + } +} diff --git a/lofn/internal/generate/optional/generate_optional.go b/lofn/internal/generate/optional/generate_optional.go new file mode 100644 index 00000000..54ad9e23 --- /dev/null +++ b/lofn/internal/generate/optional/generate_optional.go @@ -0,0 +1,72 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/optional/generate_optional.go" + filename = "optional.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed optional.gotmpl + optionalRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + } + optionalTmpl := template.Must(template.New("optional").Funcs(funcMap).Parse(optionalRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_optional.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + + for n := 1; n <= argumentsLimit; n++ { + err := optionalTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lofn/internal/generate/optional/optional.gotmpl b/lofn/internal/generate/optional/optional.gotmpl new file mode 100644 index 00000000..d03237f4 --- /dev/null +++ b/lofn/internal/generate/optional/optional.gotmpl @@ -0,0 +1,56 @@ +{{- define "decls-types" -}} +{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}T{{ add $i 1 }}{{ end }} +{{- end }} +{{- define "decls-args" -}} +{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}v{{ add $i 1 }} T{{ add $i 1 }}{{ end }} +{{- end }} +{{- define "decls-call-args" -}} +{{ range $i := .N }}{{ if ne $i 0 }}, {{ end }}v{{ add $i 1 }}{{ end }} +{{- end }} +func OrDefault{{ if gt .N 1 }}{{ .N }}{{ end }}[{{ template "decls-types" . }}, R any]( + fn func({{ template "decls-types" . }}) (R, bool), +) func({{ template "decls-types" . }}, R) R { + return func({{ template "decls-args" . }}, fallback R) R { + if r, ok := fn({{ template "decls-call-args" . }}); ok { + return r + } + + return fallback + } +} + +func WithDefault{{ if gt .N 1 }}{{ .N }}{{ end }}[{{ template "decls-types" . }}, R any]( + fn func({{ template "decls-types" . }}) (R, bool), fallback R, +) func({{ template "decls-types" . }}) R { + return func({{ template "decls-args" . }}) R { + if r, ok := fn({{ template "decls-call-args" . }}); ok { + return r + } + + return fallback + } +} + +func OrFallback{{ if gt .N 1 }}{{ .N }}{{ end }}[{{ template "decls-types" . }}, R any]( + fn func({{ template "decls-types" . }}) (R, bool), +) func({{ template "decls-types" . }}, func({{ template "decls-types" . }}) R) R { + return func({{ template "decls-args" . }}, fallback func({{ template "decls-types" . }}) R) R { + if r, ok := fn({{ template "decls-call-args" . }}); ok { + return r + } + + return fallback({{ template "decls-call-args" . }}) + } +} + +func WithFallback{{ if gt .N 1 }}{{ .N }}{{ end }}[{{ template "decls-types" . }}, R any]( + fn func({{ template "decls-types" . }}) (R, bool), fallback func({{ template "decls-types" . }}) R, +) func({{ template "decls-types" . }}) R { + return func({{ template "decls-args" . }}) R { + if r, ok := fn({{ template "decls-call-args" . }}); ok { + return r + } + + return fallback({{ template "decls-call-args" . }}) + } +} diff --git a/lofn/optional.go b/lofn/optional.go new file mode 100644 index 00000000..1dd48784 --- /dev/null +++ b/lofn/optional.go @@ -0,0 +1,436 @@ +// Code generated by generate_optional.go; DO NOT EDIT. +package lofn + +//go:generate go run internal/generate/optional/generate_optional.go + +func OrDefault[T1, R any]( + fn func(T1) (R, bool), +) func(T1, R) R { + return func(v1 T1, fallback R) R { + if r, ok := fn(v1); ok { + return r + } + + return fallback + } +} + +func WithDefault[T1, R any]( + fn func(T1) (R, bool), fallback R, +) func(T1) R { + return func(v1 T1) R { + if r, ok := fn(v1); ok { + return r + } + + return fallback + } +} + +func OrFallback[T1, R any]( + fn func(T1) (R, bool), +) func(T1, func(T1) R) R { + return func(v1 T1, fallback func(T1) R) R { + if r, ok := fn(v1); ok { + return r + } + + return fallback(v1) + } +} + +func WithFallback[T1, R any]( + fn func(T1) (R, bool), fallback func(T1) R, +) func(T1) R { + return func(v1 T1) R { + if r, ok := fn(v1); ok { + return r + } + + return fallback(v1) + } +} + +func OrDefault2[T1, T2, R any]( + fn func(T1, T2) (R, bool), +) func(T1, T2, R) R { + return func(v1 T1, v2 T2, fallback R) R { + if r, ok := fn(v1, v2); ok { + return r + } + + return fallback + } +} + +func WithDefault2[T1, T2, R any]( + fn func(T1, T2) (R, bool), fallback R, +) func(T1, T2) R { + return func(v1 T1, v2 T2) R { + if r, ok := fn(v1, v2); ok { + return r + } + + return fallback + } +} + +func OrFallback2[T1, T2, R any]( + fn func(T1, T2) (R, bool), +) func(T1, T2, func(T1, T2) R) R { + return func(v1 T1, v2 T2, fallback func(T1, T2) R) R { + if r, ok := fn(v1, v2); ok { + return r + } + + return fallback(v1, v2) + } +} + +func WithFallback2[T1, T2, R any]( + fn func(T1, T2) (R, bool), fallback func(T1, T2) R, +) func(T1, T2) R { + return func(v1 T1, v2 T2) R { + if r, ok := fn(v1, v2); ok { + return r + } + + return fallback(v1, v2) + } +} + +func OrDefault3[T1, T2, T3, R any]( + fn func(T1, T2, T3) (R, bool), +) func(T1, T2, T3, R) R { + return func(v1 T1, v2 T2, v3 T3, fallback R) R { + if r, ok := fn(v1, v2, v3); ok { + return r + } + + return fallback + } +} + +func WithDefault3[T1, T2, T3, R any]( + fn func(T1, T2, T3) (R, bool), fallback R, +) func(T1, T2, T3) R { + return func(v1 T1, v2 T2, v3 T3) R { + if r, ok := fn(v1, v2, v3); ok { + return r + } + + return fallback + } +} + +func OrFallback3[T1, T2, T3, R any]( + fn func(T1, T2, T3) (R, bool), +) func(T1, T2, T3, func(T1, T2, T3) R) R { + return func(v1 T1, v2 T2, v3 T3, fallback func(T1, T2, T3) R) R { + if r, ok := fn(v1, v2, v3); ok { + return r + } + + return fallback(v1, v2, v3) + } +} + +func WithFallback3[T1, T2, T3, R any]( + fn func(T1, T2, T3) (R, bool), fallback func(T1, T2, T3) R, +) func(T1, T2, T3) R { + return func(v1 T1, v2 T2, v3 T3) R { + if r, ok := fn(v1, v2, v3); ok { + return r + } + + return fallback(v1, v2, v3) + } +} + +func OrDefault4[T1, T2, T3, T4, R any]( + fn func(T1, T2, T3, T4) (R, bool), +) func(T1, T2, T3, T4, R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, fallback R) R { + if r, ok := fn(v1, v2, v3, v4); ok { + return r + } + + return fallback + } +} + +func WithDefault4[T1, T2, T3, T4, R any]( + fn func(T1, T2, T3, T4) (R, bool), fallback R, +) func(T1, T2, T3, T4) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4) R { + if r, ok := fn(v1, v2, v3, v4); ok { + return r + } + + return fallback + } +} + +func OrFallback4[T1, T2, T3, T4, R any]( + fn func(T1, T2, T3, T4) (R, bool), +) func(T1, T2, T3, T4, func(T1, T2, T3, T4) R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, fallback func(T1, T2, T3, T4) R) R { + if r, ok := fn(v1, v2, v3, v4); ok { + return r + } + + return fallback(v1, v2, v3, v4) + } +} + +func WithFallback4[T1, T2, T3, T4, R any]( + fn func(T1, T2, T3, T4) (R, bool), fallback func(T1, T2, T3, T4) R, +) func(T1, T2, T3, T4) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4) R { + if r, ok := fn(v1, v2, v3, v4); ok { + return r + } + + return fallback(v1, v2, v3, v4) + } +} + +func OrDefault5[T1, T2, T3, T4, T5, R any]( + fn func(T1, T2, T3, T4, T5) (R, bool), +) func(T1, T2, T3, T4, T5, R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, fallback R) R { + if r, ok := fn(v1, v2, v3, v4, v5); ok { + return r + } + + return fallback + } +} + +func WithDefault5[T1, T2, T3, T4, T5, R any]( + fn func(T1, T2, T3, T4, T5) (R, bool), fallback R, +) func(T1, T2, T3, T4, T5) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) R { + if r, ok := fn(v1, v2, v3, v4, v5); ok { + return r + } + + return fallback + } +} + +func OrFallback5[T1, T2, T3, T4, T5, R any]( + fn func(T1, T2, T3, T4, T5) (R, bool), +) func(T1, T2, T3, T4, T5, func(T1, T2, T3, T4, T5) R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, fallback func(T1, T2, T3, T4, T5) R) R { + if r, ok := fn(v1, v2, v3, v4, v5); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5) + } +} + +func WithFallback5[T1, T2, T3, T4, T5, R any]( + fn func(T1, T2, T3, T4, T5) (R, bool), fallback func(T1, T2, T3, T4, T5) R, +) func(T1, T2, T3, T4, T5) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) R { + if r, ok := fn(v1, v2, v3, v4, v5); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5) + } +} + +func OrDefault6[T1, T2, T3, T4, T5, T6, R any]( + fn func(T1, T2, T3, T4, T5, T6) (R, bool), +) func(T1, T2, T3, T4, T5, T6, R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, fallback R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6); ok { + return r + } + + return fallback + } +} + +func WithDefault6[T1, T2, T3, T4, T5, T6, R any]( + fn func(T1, T2, T3, T4, T5, T6) (R, bool), fallback R, +) func(T1, T2, T3, T4, T5, T6) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6); ok { + return r + } + + return fallback + } +} + +func OrFallback6[T1, T2, T3, T4, T5, T6, R any]( + fn func(T1, T2, T3, T4, T5, T6) (R, bool), +) func(T1, T2, T3, T4, T5, T6, func(T1, T2, T3, T4, T5, T6) R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, fallback func(T1, T2, T3, T4, T5, T6) R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6) + } +} + +func WithFallback6[T1, T2, T3, T4, T5, T6, R any]( + fn func(T1, T2, T3, T4, T5, T6) (R, bool), fallback func(T1, T2, T3, T4, T5, T6) R, +) func(T1, T2, T3, T4, T5, T6) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6) + } +} + +func OrDefault7[T1, T2, T3, T4, T5, T6, T7, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7) (R, bool), +) func(T1, T2, T3, T4, T5, T6, T7, R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, fallback R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7); ok { + return r + } + + return fallback + } +} + +func WithDefault7[T1, T2, T3, T4, T5, T6, T7, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7) (R, bool), fallback R, +) func(T1, T2, T3, T4, T5, T6, T7) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7); ok { + return r + } + + return fallback + } +} + +func OrFallback7[T1, T2, T3, T4, T5, T6, T7, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7) (R, bool), +) func(T1, T2, T3, T4, T5, T6, T7, func(T1, T2, T3, T4, T5, T6, T7) R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, fallback func(T1, T2, T3, T4, T5, T6, T7) R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6, v7) + } +} + +func WithFallback7[T1, T2, T3, T4, T5, T6, T7, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7) (R, bool), fallback func(T1, T2, T3, T4, T5, T6, T7) R, +) func(T1, T2, T3, T4, T5, T6, T7) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6, v7) + } +} + +func OrDefault8[T1, T2, T3, T4, T5, T6, T7, T8, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R, bool), +) func(T1, T2, T3, T4, T5, T6, T7, T8, R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, fallback R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8); ok { + return r + } + + return fallback + } +} + +func WithDefault8[T1, T2, T3, T4, T5, T6, T7, T8, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R, bool), fallback R, +) func(T1, T2, T3, T4, T5, T6, T7, T8) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8); ok { + return r + } + + return fallback + } +} + +func OrFallback8[T1, T2, T3, T4, T5, T6, T7, T8, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R, bool), +) func(T1, T2, T3, T4, T5, T6, T7, T8, func(T1, T2, T3, T4, T5, T6, T7, T8) R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, fallback func(T1, T2, T3, T4, T5, T6, T7, T8) R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6, v7, v8) + } +} + +func WithFallback8[T1, T2, T3, T4, T5, T6, T7, T8, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R, bool), fallback func(T1, T2, T3, T4, T5, T6, T7, T8) R, +) func(T1, T2, T3, T4, T5, T6, T7, T8) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6, v7, v8) + } +} + +func OrDefault9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, bool), +) func(T1, T2, T3, T4, T5, T6, T7, T8, T9, R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9, fallback R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8, v9); ok { + return r + } + + return fallback + } +} + +func WithDefault9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, bool), fallback R, +) func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8, v9); ok { + return r + } + + return fallback + } +} + +func OrFallback9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, bool), +) func(T1, T2, T3, T4, T5, T6, T7, T8, T9, func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9, fallback func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8, v9); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6, v7, v8, v9) + } +} + +func WithFallback9[T1, T2, T3, T4, T5, T6, T7, T8, T9, R any]( + fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R, bool), fallback func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R, +) func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R { + return func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) R { + if r, ok := fn(v1, v2, v3, v4, v5, v6, v7, v8, v9); ok { + return r + } + + return fallback(v1, v2, v3, v4, v5, v6, v7, v8, v9) + } +} From 4e070c16473cd97ed7dae011604b319d24125663 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Mon, 21 Jul 2025 00:33:16 +0300 Subject: [PATCH 19/44] lomap basics --- lomap/constructor.go | 23 +++++++++++++++++++++++ lomap/getter.go | 28 ++++++++++++++++++++++++++++ lomap/map.go | 21 +++++++++++++++++++++ lomap/parts.go | 41 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 113 insertions(+) create mode 100644 lomap/constructor.go create mode 100644 lomap/getter.go create mode 100644 lomap/map.go create mode 100644 lomap/parts.go diff --git a/lomap/constructor.go b/lomap/constructor.go new file mode 100644 index 00000000..f95db143 --- /dev/null +++ b/lomap/constructor.go @@ -0,0 +1,23 @@ +package lomap + +import "github.com/samber/lo/lotup" + +func FromKeysAndValues[K comparable, V any](keys []K, values []V) (m map[K]V) { + size := min(len(keys), len(values)) + + m = make(map[K]V, size) + for i := range size { + m[keys[i]] = values[i] + } + + return m +} + +func FromPairs[K comparable, V any](pairs []lotup.Tuple2[K, V]) (m map[K]V) { + m = make(map[K]V, len(pairs)) + for _, p := range pairs { + m[p.V1] = p.V2 + } + + return m +} diff --git a/lomap/getter.go b/lomap/getter.go new file mode 100644 index 00000000..8a8b9ed3 --- /dev/null +++ b/lomap/getter.go @@ -0,0 +1,28 @@ +package lomap + +func NewGetter[K comparable, V any, Map ~map[K]V](m Map) func(K) (V, bool) { + return func(k K) (v V, ok bool) { + v, ok = m[k] + return + } +} + +func NewGetterWithDefault[K comparable, V any, Map ~map[K]V](m Map, defaultValue V) func(K) V { + return func(k K) V { + if v, ok := m[k]; ok { + return v + } + + return defaultValue + } +} + +func NewGetterWithFallback[K comparable, V any, Map ~map[K]V](m Map, fallback func(K) V) func(K) V { + return func(k K) V { + if v, ok := m[k]; ok { + return v + } + + return fallback(k) + } +} diff --git a/lomap/map.go b/lomap/map.go new file mode 100644 index 00000000..d6f2b4af --- /dev/null +++ b/lomap/map.go @@ -0,0 +1,21 @@ +package lomap + +func Enumerate[K comparable, V any, Map ~map[K]V](m Map) (indices map[K]int) { + indices = make(map[K]int, len(m)) + i := 0 + for k := range m { + indices[k] = i + i++ + } + + return indices +} + +func Swap[K, V comparable, Map ~map[K]V](m Map) (swapped map[V]K) { + swapped = make(map[V]K, len(m)) + for k, v := range m { + swapped[v] = k + } + + return swapped +} diff --git a/lomap/parts.go b/lomap/parts.go new file mode 100644 index 00000000..4a9eab7c --- /dev/null +++ b/lomap/parts.go @@ -0,0 +1,41 @@ +package lomap + +import "github.com/samber/lo/lotup" + +func Keys[K comparable, V any, Map ~map[K]V](m Map) (keys []K) { + keys = make([]K, 0, len(m)) + for k := range m { + keys = append(keys, k) + } + + return keys +} + +func Values[K comparable, V any, Map ~map[K]V](m Map) (values []V) { + values = make([]V, 0, len(m)) + for _, v := range m { + values = append(values, v) + } + + return values +} + +func Pairs[K comparable, V any, Map ~map[K]V](m Map) (pairs []lotup.Tuple2[K, V]) { + pairs = make([]lotup.Tuple2[K, V], 0, len(m)) + for k, v := range m { + pairs = append(pairs, lotup.Of2(k, v)) + } + + return pairs +} + +func KeysAndValues[K comparable, V any, Map ~map[K]V](m Map) (keys []K, values []V) { + keys = make([]K, 0, len(m)) + values = make([]V, 0, len(m)) + for k, v := range m { + keys = append(keys, k) + values = append(values, v) + } + + return keys, values +} From d66eafc2afa45ea3176edd5d31a50fe08a497f90 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Mon, 21 Jul 2025 11:22:06 +0300 Subject: [PATCH 20/44] wip --- loany/slice.go | 2 +- lomap/constructor.go | 41 +++++++++++++++++ lomap/count.go | 31 +++++++++++++ lomap/filter.go | 34 +++++++++++++++ lomap/split.go | 16 +++++++ loset/set.go | 2 +- loslice/count.go | 6 +-- loslice/filter.go | 38 +++++++++++++--- loslice/find.go | 97 ++++++++++++++++++++++++++++++++--------- loslice/helpers.go | 14 ++++++ loslice/logic.go | 18 ++++---- loslice/min_n_max.go | 80 ++++++++++++++++----------------- loslice/split.go | 28 +++++++++--- loslice/table.go | 6 +-- loslice/types.go | 9 ++++ loslice/uniq.go | 2 +- mutslice/filter.go | 6 +-- mutslice/grouping.go | 4 +- mutslice/helpers.go | 2 +- mutslice/indexing.go | 6 +-- mutslice/insert.go | 8 ++-- mutslice/lomut.go | 2 +- mutslice/monad.go | 8 ++-- mutslice/replace.go | 12 ++--- mutslice/split.go | 4 +- mutslice/take_n_drop.go | 12 ++--- 26 files changed, 365 insertions(+), 123 deletions(-) create mode 100644 lomap/count.go create mode 100644 lomap/filter.go create mode 100644 lomap/split.go create mode 100644 loslice/helpers.go create mode 100644 loslice/types.go diff --git a/loany/slice.go b/loany/slice.go index 670f7d30..1ed637f5 100644 --- a/loany/slice.go +++ b/loany/slice.go @@ -1,6 +1,6 @@ package loany -func Slice[T any, Slice ~[]T](xs Slice) []any { +func Slice[Slice ~[]T, T any](xs Slice) []any { result := make([]any, len(xs)) for i, x := range xs { result[i] = x diff --git a/lomap/constructor.go b/lomap/constructor.go index f95db143..12083c09 100644 --- a/lomap/constructor.go +++ b/lomap/constructor.go @@ -21,3 +21,44 @@ func FromPairs[K comparable, V any](pairs []lotup.Tuple2[K, V]) (m map[K]V) { return m } + +func FromKeysAndDefault[K comparable, V any](keys []K, value V) (m map[K]V) { + m = make(map[K]V, len(keys)) + for _, k := range keys { + m[k] = value + } + + return m +} + +func MapKeys[K comparable, V any](keys []K, fmap func(K) V) (m map[K]V) { + m = make(map[K]V, len(keys)) + for _, k := range keys { + m[k] = fmap(k) + } + + return m +} + +func IMapKeys[K comparable, V any](keys []K, imap func(int, K) V) (m map[K]V) { + m = make(map[K]V, len(keys)) + for i, k := range keys { + m[k] = imap(i, k) + } + + return m +} + +func Fill[K comparable, V any](size int, get func(int) (K, V)) (m map[K]V) { + if size < 0 { + return nil + } + + m = make(map[K]V, size) + for i := 0; i < size; i++ { + k, v := get(i) + m[k] = v + } + + return m +} diff --git a/lomap/count.go b/lomap/count.go new file mode 100644 index 00000000..ccc0918c --- /dev/null +++ b/lomap/count.go @@ -0,0 +1,31 @@ +package lomap + +func CountKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (count int) { + for k := range m { + if pred(k) { + count++ + } + } + + return count +} + +func CountValues[K comparable, V any, Map ~map[K]V](m Map, pred func(V) bool) (count int) { + for _, v := range m { + if pred(v) { + count++ + } + } + + return count +} + +func CountPairs[K comparable, V any, Map ~map[K]V](m Map, pred func(K, V) bool) (count int) { + for k, v := range m { + if pred(k, v) { + count++ + } + } + + return count +} diff --git a/lomap/filter.go b/lomap/filter.go new file mode 100644 index 00000000..08e7030c --- /dev/null +++ b/lomap/filter.go @@ -0,0 +1,34 @@ +package lomap + +func FilterKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (filtered Map) { + filtered = make(Map, len(m)) + for k, v := range m { + if pred(k) { + filtered[k] = v + } + } + + return filtered +} + +func FilterValues[K comparable, V any, Map ~map[K]V](m Map, pred func(V) bool) (filtered Map) { + filtered = make(Map, len(m)) + for k, v := range m { + if pred(v) { + filtered[k] = v + } + } + + return filtered +} + +func FilterPairs[K comparable, V any, Map ~map[K]V](m Map, pred func(K, V) bool) (filtered Map) { + filtered = make(Map, len(m)) + for k, v := range m { + if pred(k, v) { + filtered[k] = v + } + } + + return filtered +} diff --git a/lomap/split.go b/lomap/split.go new file mode 100644 index 00000000..91580615 --- /dev/null +++ b/lomap/split.go @@ -0,0 +1,16 @@ +package lomap + +func SplitKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (taken, rest Map) { + taken = make(Map, len(m)) + rest = make(Map, len(m)) + + for k, v := range m { + if pred(k) { + taken[k] = v + } else { + rest[k] = v + } + } + + return taken, rest +} diff --git a/loset/set.go b/loset/set.go index 3b3e8cf0..095dc325 100644 --- a/loset/set.go +++ b/loset/set.go @@ -4,7 +4,7 @@ import "iter" type Set[T comparable] = map[T]struct{} -func FromSlice[T comparable, Slice ~[]T](xs Slice) Set[T] { +func FromSlice[Slice ~[]T, T comparable](xs Slice) Set[T] { set := make(Set[T], len(xs)) for _, x := range xs { diff --git a/loslice/count.go b/loslice/count.go index 4548113f..9e0e960f 100644 --- a/loslice/count.go +++ b/loslice/count.go @@ -1,7 +1,7 @@ package loslice // Count counts the number not elements in the collection for which predicate is true. -func Count[T any, Slice ~[]T](xs Slice, pred func(T) bool) (count int) { +func Count[Slice ~[]T, T any](xs Slice, pred func(T) bool) (count int) { for _, x := range xs { if pred(x) { count++ @@ -12,7 +12,7 @@ func Count[T any, Slice ~[]T](xs Slice, pred func(T) bool) (count int) { } // ICount counts the number not elements in the collection for which predicate is true. -func ICount[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (count int) { +func ICount[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (count int) { for i, x := range xs { if ipred(i, x) { count++ @@ -23,7 +23,7 @@ func ICount[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (count int) { } // CountVal counts the number not elements in the collection that compare equal to value. -func CountVal[T comparable, Slice ~[]T](xs Slice, val T) (count int) { +func CountVal[Slice ~[]T, T comparable](xs Slice, val T) (count int) { for _, x := range xs { if x == val { count++ diff --git a/loslice/filter.go b/loslice/filter.go index 3c0f4a71..b7891711 100644 --- a/loslice/filter.go +++ b/loslice/filter.go @@ -1,8 +1,16 @@ package loslice -func RejectVal[T comparable, Slice ~[]T](xs Slice, val T) Slice { - result := make(Slice, 0, len(xs)-CountVal(xs, val)) +func RejectVal[Slice ~[]T, T comparable](xs Slice, val T) (result Slice) { + return rejectVal(xs, val, nil) +} + +func RejectValEx[Slice ~[]T, T comparable](mode AllocateMode, xs Slice, val T) (result Slice) { + result = allocateCapacity[Slice](mode, len(xs), func() int { return len(xs) - CountVal(xs, val) }) + + return rejectVal(xs, val, result) +} +func rejectVal[Slice ~[]T, T comparable](xs Slice, val T, result Slice) Slice { for _, x := range xs { if x != val { result = append(result, x) @@ -13,9 +21,18 @@ func RejectVal[T comparable, Slice ~[]T](xs Slice, val T) Slice { } // Filter iterates over elements not collection, returning an array not all elements predicate returns truthy for. -func Filter[T any, Slice ~[]T](xs Slice, pred func(item T) bool) Slice { - result := make(Slice, 0, Count(xs, pred)) +func Filter[Slice ~[]T, T any](xs Slice, pred func(item T) bool) Slice { + return filter(xs, pred, nil) +} + +// FilterEx iterates over elements not collection, returning an array not all elements predicate returns truthy for. +func FilterEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, pred func(item T) bool) Slice { + result := allocateCapacity[Slice](mode, len(xs), func() int { return Count(xs, pred) }) + return filter(xs, pred, result) +} + +func filter[Slice ~[]T, T any](xs Slice, pred func(item T) bool, result Slice) Slice { for _, x := range xs { if pred(x) { result = append(result, x) @@ -26,9 +43,18 @@ func Filter[T any, Slice ~[]T](xs Slice, pred func(item T) bool) Slice { } // IFilter iterates over elements not collection, returning an array not all elements predicate returns truthy for. -func IFilter[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) Slice { - result := make(Slice, 0, ICount(xs, ipred)) +func IFilter[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) Slice { + return ifilter(xs, ipred, nil) +} + +// IFilterEx iterates over elements not collection, returning an array not all elements predicate returns truthy for. +func IFilterEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, T) bool) Slice { + result := allocateCapacity[Slice](mode, len(xs), func() int { return ICount(xs, ipred) }) + + return ifilter(xs, ipred, result) +} +func ifilter[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool, result Slice) Slice { for i, x := range xs { if ipred(i, x) { result = append(result, x) diff --git a/loslice/find.go b/loslice/find.go index eaa98043..577eacb7 100644 --- a/loslice/find.go +++ b/loslice/find.go @@ -2,7 +2,7 @@ package loslice import "slices" -func IndexVal[T comparable, Slice ~[]T](xs Slice, val T) (index int, ok bool) { +func IndexVal[Slice ~[]T, T comparable](xs Slice, val T) (index int, ok bool) { if i := slices.Index(xs, val); i >= 0 { return i, true } @@ -10,7 +10,7 @@ func IndexVal[T comparable, Slice ~[]T](xs Slice, val T) (index int, ok bool) { return } -func Index[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (index int, ok bool) { +func Index[Slice ~[]T, T any](xs Slice, pred func(item T) bool) (index int, ok bool) { if i := slices.IndexFunc(xs, pred); i >= 0 { return i, true } @@ -18,7 +18,7 @@ func Index[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (index int, ok b return } -func IIndex[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (index int, ok bool) { +func IIndex[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (index int, ok bool) { for i, x := range xs { if ipred(i, x) { return i, true @@ -28,7 +28,7 @@ func IIndex[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (index int, ok return } -func RIndexVal[T comparable, Slice ~[]T](xs Slice, val T) (index int, ok bool) { +func RIndexVal[Slice ~[]T, T comparable](xs Slice, val T) (index int, ok bool) { for i := len(xs) - 1; i >= 0; i-- { if xs[i] == val { return i, true @@ -38,7 +38,7 @@ func RIndexVal[T comparable, Slice ~[]T](xs Slice, val T) (index int, ok bool) { return } -func RIndex[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (index int, ok bool) { +func RIndex[Slice ~[]T, T any](xs Slice, pred func(item T) bool) (index int, ok bool) { for i := len(xs) - 1; i >= 0; i-- { if pred(xs[i]) { return i, true @@ -48,7 +48,7 @@ func RIndex[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (index int, ok return } -func IRIndex[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (index int, ok bool) { +func IRIndex[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (index int, ok bool) { for i := len(xs) - 1; i >= 0; i-- { if ipred(i, xs[i]) { return i, true @@ -58,63 +58,118 @@ func IRIndex[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (index int, o return } -func IndicesVal[T comparable, Slice ~[]T](xs Slice, val T) (indices []int) { - indices = make([]int, 0, CountVal(xs, val)) +func IndicesVal[Slice ~[]T, T comparable](xs Slice, val T) (indices []int) { + return indicesVal(xs, val, nil) +} + +func IndicesValEx[Slice ~[]T, T comparable](mode AllocateMode, xs Slice, val T) (indices []int) { + indices = allocateCapacity[[]int](mode, len(xs), func() int { return CountVal(xs, val) }) + + return indicesVal(xs, val, indices) +} + +func indicesVal[Slice ~[]T, T comparable](xs Slice, val T, indices []int) []int { for i, x := range xs { if x == val { indices = append(indices, i) } } - return + return indices } -func RIndicesVal[T comparable, Slice ~[]T](xs Slice, val T) (indices []int) { +func RIndicesVal[Slice ~[]T, T comparable](xs Slice, val T) (indices []int) { indices = IndicesVal(xs, val) slices.Reverse(indices) return } -func Indices[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (indices []int) { - indices = make([]int, 0, Count(xs, pred)) +func RIndicesValEx[Slice ~[]T, T comparable](mode AllocateMode, xs Slice, val T) (indices []int) { + indices = IndicesValEx(mode, xs, val) + slices.Reverse(indices) + + return +} + +// Indices returns indices of elements matching the predicate. +func Indices[Slice ~[]T, T any](xs Slice, pred func(item T) bool) (indices []int) { + return indicesImpl(xs, pred, nil) +} + +// IndicesEx returns indices of elements matching the predicate, with allocation mode. +func IndicesEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, pred func(item T) bool) (indices []int) { + indices = allocateCapacity[[]int](mode, len(xs), func() int { return Count(xs, pred) }) + + return indicesImpl(xs, pred, indices) +} + +// Helper for Indices and IndicesEx. +func indicesImpl[Slice ~[]T, T any](xs Slice, pred func(item T) bool, indices []int) []int { for i, x := range xs { if pred(x) { indices = append(indices, i) } } + return indices +} + +func RIndices[Slice ~[]T, T any](xs Slice, pred func(item T) bool) (indices []int) { + indices = Indices(xs, pred) + slices.Reverse(indices) return } -func RIndices[T any, Slice ~[]T](xs Slice, pred func(item T) bool) (indices []int) { - indices = Indices(xs, pred) +// RIndicesEx returns indices of elements matching the predicate, with allocation mode. +func RIndicesEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, pred func(item T) bool) (indices []int) { + indices = IndicesEx(mode, xs, pred) slices.Reverse(indices) return } -func IIndices[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (indices []int) { - indices = make([]int, 0, ICount(xs, ipred)) +// IIndices returns indices of elements matching the indexed predicate. +func IIndices[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (indices []int) { + return iindices(xs, ipred, nil) +} + +// IIndicesEx returns indices of elements matching the indexed predicate, with allocation mode. +func IIndicesEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, T) bool) (indices []int) { + indices = allocateCapacity[[]int](mode, len(xs), func() int { return ICount(xs, ipred) }) + + return iindices(xs, ipred, indices) +} + +// Helper for IIndices and IIndicesEx. +func iindices[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool, indices []int) []int { for i, x := range xs { if ipred(i, x) { indices = append(indices, i) } } - return + return indices } -func IRIndices[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (indices []int) { +func IRIndices[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (indices []int) { indices = IIndices(xs, ipred) slices.Reverse(indices) return } +// IRIndicesEx returns indices of elements matching the indexed predicate, with allocation mode. +func IRIndicesEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, T) bool) (indices []int) { + indices = IIndicesEx(mode, xs, ipred) + slices.Reverse(indices) + + return +} + // IndicesNVal returns the first n indices of the value in the slice. // Supports negative n to get the last n indices. -func IndicesNVal[T comparable, Slice ~[]T](xs Slice, n int, val T) (indices []int) { +func IndicesNVal[Slice ~[]T, T comparable](xs Slice, n int, val T) (indices []int) { if n == 0 { return IndicesVal(xs, val) } @@ -148,7 +203,7 @@ func IndicesNVal[T comparable, Slice ~[]T](xs Slice, n int, val T) (indices []in } // IndicesN returns the first n indices of the elements that satisfy the predicate in the slice. -func IndicesN[T any, Slice ~[]T](xs Slice, n int, pred func(item T) bool) (indices []int) { +func IndicesN[Slice ~[]T, T any](xs Slice, n int, pred func(item T) bool) (indices []int) { if n == 0 { return Indices(xs, pred) } @@ -182,7 +237,7 @@ func IndicesN[T any, Slice ~[]T](xs Slice, n int, pred func(item T) bool) (indic } // IIndicesN returns the first n indices of the elements that satisfy the predicate in the slice, with access to the index. -func IIndicesN[T any, Slice ~[]T](xs Slice, n int, ipred func(int, T) bool) (indices []int) { +func IIndicesN[Slice ~[]T, T any](xs Slice, n int, ipred func(int, T) bool) (indices []int) { if n == 0 { return IIndices(xs, ipred) } diff --git a/loslice/helpers.go b/loslice/helpers.go new file mode 100644 index 00000000..8672f3ba --- /dev/null +++ b/loslice/helpers.go @@ -0,0 +1,14 @@ +package loslice + +func allocateCapacity[Slice ~[]T, T any](mode AllocateMode, size int, precount func() int) (result Slice) { + switch mode { + default: + return nil // do nothing + case AllocateZero: + return make(Slice, 0) + case AllocateAll: + return make(Slice, 0, size) + case AllocatePrecount: + return make(Slice, 0, precount()) + } +} diff --git a/loslice/logic.go b/loslice/logic.go index 72e7ef58..116abfea 100644 --- a/loslice/logic.go +++ b/loslice/logic.go @@ -7,33 +7,33 @@ import ( // ContainsVal checks if there is at least one element in the slice that equals the given value. // Supports early exit, so it will stop checking as soon as it finds a match. -func ContainsVal[T comparable, Slice ~[]T](xs Slice, val T) bool { +func ContainsVal[Slice ~[]T, T comparable](xs Slice, val T) bool { return slices.Contains(xs, val) } -func WithoutVal[T comparable, Slice ~[]T](xs Slice, val T) bool { +func WithoutVal[Slice ~[]T, T comparable](xs Slice, val T) bool { return !ContainsVal(xs, val) } // Contains checks if there is at least one element in the slice that satisfies the predicate. -func Contains[T any, Slice ~[]T](xs Slice, pred func(item T) bool) bool { +func Contains[Slice ~[]T, T any](xs Slice, pred func(item T) bool) bool { return lotup.Second(Index(xs, pred)) } -func Without[T any, Slice ~[]T](xs Slice, pred func(item T) bool) bool { +func Without[Slice ~[]T, T any](xs Slice, pred func(item T) bool) bool { return !Contains(xs, pred) } // IContains checks if there is at least one element in the slice that satisfies the indexed predicate. -func IContains[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) bool { +func IContains[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) bool { return lotup.Second(IIndex(xs, ipred)) } -func IWithout[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) bool { +func IWithout[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) bool { return !IContains(xs, ipred) } -func EveryVal[T comparable, Slice ~[]T](xs Slice, val T) bool { +func EveryVal[Slice ~[]T, T comparable](xs Slice, val T) bool { for _, x := range xs { if x != val { return false @@ -43,7 +43,7 @@ func EveryVal[T comparable, Slice ~[]T](xs Slice, val T) bool { return true } -func Every[T any, Slice ~[]T](xs Slice, pred func(item T) bool) bool { +func Every[Slice ~[]T, T any](xs Slice, pred func(item T) bool) bool { for _, x := range xs { if !pred(x) { return false @@ -53,7 +53,7 @@ func Every[T any, Slice ~[]T](xs Slice, pred func(item T) bool) bool { return true } -func IEvery[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) bool { +func IEvery[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) bool { for i, x := range xs { if !ipred(i, x) { return false diff --git a/loslice/min_n_max.go b/loslice/min_n_max.go index d52f1630..7791fc0c 100644 --- a/loslice/min_n_max.go +++ b/loslice/min_n_max.go @@ -2,7 +2,7 @@ package loslice import "cmp" -func MinVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { +func MinVal[Slice ~[]T, T cmp.Ordered](xs Slice) T { if len(xs) == 0 { var zero T return zero @@ -18,7 +18,7 @@ func MinVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { return res } -func ArgMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { +func ArgMinVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { if len(xs) == 0 { return 0 } @@ -33,7 +33,7 @@ func ArgMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { return index } -func Min[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { +func Min[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { if len(xs) == 0 { return } @@ -48,7 +48,7 @@ func Min[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) return } -func ArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { +func ArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { if len(xs) == 0 { return 0, k } @@ -64,7 +64,7 @@ func ArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index i return } -func IMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, k K) { +func IMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (t T, k K) { if len(xs) == 0 { return } @@ -79,7 +79,7 @@ func IMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, return } -func IArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { +func IArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { if len(xs) == 0 { return 0, k } @@ -95,7 +95,7 @@ func IArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (i return } -func RMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { +func RMinVal[Slice ~[]T, T cmp.Ordered](xs Slice) T { if len(xs) == 0 { var zero T return zero @@ -112,7 +112,7 @@ func RMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { return res } -func RArgMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { +func RArgMinVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { if len(xs) == 0 { return 0 } @@ -128,7 +128,7 @@ func RArgMinVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { return index } -func RMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { +func RMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { if len(xs) == 0 { return } @@ -144,7 +144,7 @@ func RMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) return } -func RArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { +func RArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { if len(xs) == 0 { return } @@ -160,7 +160,7 @@ func RArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index return } -func IRMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(int, T) K) (t T, k K) { +func IRMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(int, T) K) (t T, k K) { if len(xs) == 0 { return } @@ -176,7 +176,7 @@ func IRMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(int, T) K) (t T return } -func IRArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { +func IRArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { if len(xs) == 0 { return } @@ -192,7 +192,7 @@ func IRArgMin[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) ( return } -func MaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { +func MaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) T { if len(xs) == 0 { var zero T return zero @@ -206,7 +206,7 @@ func MaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { return res } -func ArgMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { +func ArgMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { if len(xs) == 0 { return 0 } @@ -219,7 +219,7 @@ func ArgMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { return index } -func Max[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { +func Max[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { if len(xs) == 0 { return } @@ -232,7 +232,7 @@ func Max[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) return } -func ArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { +func ArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { if len(xs) == 0 { return 0, k } @@ -246,7 +246,7 @@ func ArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index i return } -func IMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, k K) { +func IMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (t T, k K) { if len(xs) == 0 { return } @@ -259,7 +259,7 @@ func IMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, return } -func IArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { +func IArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { if len(xs) == 0 { return 0, k } @@ -273,7 +273,7 @@ func IArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (i return } -func RMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { +func RMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) T { if len(xs) == 0 { var zero T return zero @@ -288,7 +288,7 @@ func RMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) T { return res } -func RArgMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { +func RArgMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { if len(xs) == 0 { return 0 } @@ -302,7 +302,7 @@ func RArgMaxVal[T cmp.Ordered, Slice ~[]T](xs Slice) int { return index } -func RMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) { +func RMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { if len(xs) == 0 { return } @@ -316,7 +316,7 @@ func RMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (t T, k K) return } -func RArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index int, k K) { +func RArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { if len(xs) == 0 { return } @@ -330,7 +330,7 @@ func RArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, fkey func(T) K) (index return } -func IRMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T, k K) { +func IRMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (t T, k K) { if len(xs) == 0 { return } @@ -344,7 +344,7 @@ func IRMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (t T return } -func IRArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) (index int, k K) { +func IRArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { if len(xs) == 0 { return } @@ -359,7 +359,7 @@ func IRArgMax[T any, K cmp.Ordered, Slice ~[]T](xs Slice, ikey func(int, T) K) ( } // MinCmp forward min using cmpFn -func MinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { +func MinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -374,7 +374,7 @@ func MinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { } // MaxCmp forward max using cmpFn -func MaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { +func MaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -389,7 +389,7 @@ func MaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { } // RMinCmp reverse min using cmpFn -func RMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { +func RMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -405,7 +405,7 @@ func RMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { } // RMaxCmp reverse max using cmpFn -func RMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { +func RMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -421,7 +421,7 @@ func RMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) T { } // IMinCmp forward min using index-aware cmpFn -func IMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { +func IMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -438,7 +438,7 @@ func IMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { } // IMaxCmp forward max using index-aware cmpFn -func IMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { +func IMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -456,7 +456,7 @@ func IMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { } // IRMinCmp reverse min using index-aware cmpFn -func IRMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { +func IRMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -473,7 +473,7 @@ func IRMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { } // IRMaxCmp reverse max using index-aware cmpFn -func IRMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { +func IRMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -490,7 +490,7 @@ func IRMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) T { } // ArgMinCmp forward min index using cmpFn -func ArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { +func ArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { if len(xs) == 0 { return 0 } @@ -504,7 +504,7 @@ func ArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { } // ArgMaxCmp forward max index using cmpFn -func ArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { +func ArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { if len(xs) == 0 { return 0 } @@ -518,7 +518,7 @@ func ArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { } // RArgMinCmp reverse min index using cmpFn -func RArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { +func RArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { if len(xs) == 0 { return 0 } @@ -533,7 +533,7 @@ func RArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { } // RArgMaxCmp reverse max index using cmpFn -func RArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { +func RArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { if len(xs) == 0 { return 0 } @@ -548,7 +548,7 @@ func RArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(a, b T) int) int { } // IArgMinCmp forward min index using index-aware cmpFn -func IArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { +func IArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } @@ -562,7 +562,7 @@ func IArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) i } // IArgMaxCmp forward max index using index-aware cmpFn -func IArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { +func IArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } @@ -576,7 +576,7 @@ func IArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) i } // IRArgMinCmp reverse min index using index-aware cmpFn -func IRArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { +func IRArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } @@ -591,7 +591,7 @@ func IRArgMinCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) } // IRArgMaxCmp reverse max index using index-aware cmpFn -func IRArgMaxCmp[T any, Slice ~[]T](xs Slice, cmpFn func(i, j int, a, b T) int) int { +func IRArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } diff --git a/loslice/split.go b/loslice/split.go index 340ed29a..28a55361 100644 --- a/loslice/split.go +++ b/loslice/split.go @@ -1,9 +1,17 @@ package loslice -func Split[T any, Slice ~[]T](xs Slice, pred func(T) bool) (taken, rest Slice) { - taken = make(Slice, 0, Count(xs, pred)) - rest = make(Slice, 0, len(xs)-cap(taken)) +func Split[Slice ~[]T, T any](xs Slice, pred func(T) bool) (taken, rest Slice) { + return splitImpl(xs, pred, nil, nil) +} + +func SplitEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, pred func(T) bool) (taken, rest Slice) { + taken = allocateCapacity[Slice](mode, len(xs), func() int { return Count(xs, pred) }) + rest = allocateCapacity[Slice](mode, len(xs), func() int { return len(xs) - len(taken) }) + + return splitImpl(xs, pred, taken, rest) +} +func splitImpl[Slice ~[]T, T any](xs Slice, pred func(T) bool, taken, rest Slice) (Slice, Slice) { for _, x := range xs { if pred(x) { taken = append(taken, x) @@ -15,10 +23,18 @@ func Split[T any, Slice ~[]T](xs Slice, pred func(T) bool) (taken, rest Slice) { return taken, rest } -func ISplit[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (taken, rest Slice) { - taken = make(Slice, 0, ICount(xs, ipred)) - rest = make(Slice, 0, len(xs)-cap(taken)) +func ISplit[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (taken, rest Slice) { + return isplitImpl(xs, ipred, nil, nil) +} + +func ISplitEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, T) bool) (taken, rest Slice) { + taken = allocateCapacity[Slice](mode, len(xs), func() int { return ICount(xs, ipred) }) + rest = allocateCapacity[Slice](mode, len(xs), func() int { return len(xs) - len(taken) }) + + return isplitImpl(xs, ipred, taken, rest) +} +func isplitImpl[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool, taken, rest Slice) (Slice, Slice) { for i, x := range xs { if ipred(i, x) { taken = append(taken, x) diff --git a/loslice/table.go b/loslice/table.go index 6a5cc859..2ed19a99 100644 --- a/loslice/table.go +++ b/loslice/table.go @@ -4,7 +4,7 @@ import "slices" // Flatten returns an array a single level deep. // Play: https://go.dev/play/p/rbp9ORaMpjw -func Flatten[T any, Slice ~[]T](table ...Slice) Slice { +func Flatten[Slice ~[]T, T any](table ...Slice) Slice { totalLen := 0 for i := range table { totalLen += len(table[i]) @@ -18,7 +18,7 @@ func Flatten[T any, Slice ~[]T](table ...Slice) Slice { return result } -func Transpose[T any, Slice ~[]T](table ...Slice) []Slice { +func Transpose[Slice ~[]T, T any](table ...Slice) []Slice { n := len(table) switch n { case 0: @@ -82,6 +82,6 @@ func Transpose[T any, Slice ~[]T](table ...Slice) []Slice { } // Interleave round-robin alternating input slices and sequentially appending value at index into result -func Interleave[T any, Slice ~[]T](table ...Slice) Slice { +func Interleave[Slice ~[]T, T any](table ...Slice) Slice { return Flatten(Transpose(table...)...) } diff --git a/loslice/types.go b/loslice/types.go new file mode 100644 index 00000000..bd9fde74 --- /dev/null +++ b/loslice/types.go @@ -0,0 +1,9 @@ +package loslice + +type AllocateMode int + +const ( + AllocateZero AllocateMode = iota // grows while elements were added (few results, expensive precount) + AllocateAll // preallocate capacity for all elements (lots results, expensive precount) + AllocatePrecount // counts the number of elements and allocates exactly that amount of memory +) diff --git a/loslice/uniq.go b/loslice/uniq.go index 0162b1aa..f77f1dee 100644 --- a/loslice/uniq.go +++ b/loslice/uniq.go @@ -2,7 +2,7 @@ package loslice // Uniq returns a duplicate-free version not an array, in which only the first occurrence not each element is kept. // The order not result values is determined by the order they occur in the array. -func Uniq[T comparable, Slice ~[]T](xs Slice) Slice { +func Uniq[Slice ~[]T, T comparable](xs Slice) Slice { m := make(map[T]struct{}, len(xs)) for _, x := range xs { m[x] = struct{}{} diff --git a/mutslice/filter.go b/mutslice/filter.go index 2b2b02ed..0a62085c 100644 --- a/mutslice/filter.go +++ b/mutslice/filter.go @@ -1,7 +1,7 @@ package mutslice // RejectVal remove all occurrences of a value from a slice or array. -func RejectVal[T comparable, Slice ~[]T](xs Slice, val T) Slice { +func RejectVal[Slice ~[]T, T comparable](xs Slice, val T) Slice { last, size := 0, len(xs) for last < size && xs[last] != val { last++ @@ -18,7 +18,7 @@ func RejectVal[T comparable, Slice ~[]T](xs Slice, val T) Slice { } // Filter iterates over elements not collection, reordering elements that match the predicate to the front not the slice. -func Filter[T any, Slice ~[]T](xs Slice, pred func(item T) bool) Slice { +func Filter[Slice ~[]T, T any](xs Slice, pred func(item T) bool) Slice { last, size := 0, len(xs) for last < size && pred(xs[last]) { last++ @@ -35,7 +35,7 @@ func Filter[T any, Slice ~[]T](xs Slice, pred func(item T) bool) Slice { } // IFilter iterates over elements not collection, reordering elements that match the predicate to the front not the slice. -func IFilter[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) Slice { +func IFilter[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) Slice { last, size := 0, len(xs) for last < size && ipred(last, xs[last]) { last++ diff --git a/mutslice/grouping.go b/mutslice/grouping.go index 43d0a040..762bb3e5 100644 --- a/mutslice/grouping.go +++ b/mutslice/grouping.go @@ -1,7 +1,7 @@ package mutslice // Chunk splits the slice into chunks not the specified size. The last chunk may be smaller than the specified size. -func Chunk[T any, Slice ~[]T](xs Slice, size int) []Slice { +func Chunk[Slice ~[]T, T any](xs Slice, size int) []Slice { if size <= 0 { return nil } @@ -25,7 +25,7 @@ func Chunk[T any, Slice ~[]T](xs Slice, size int) []Slice { // Batch splits the slice into a specified number not batches. Batches are differs in size not more than 1. // Big batches are collected first, then smaller batches. -func Batch[T any, Slice ~[]T](xs Slice, batches int) []Slice { +func Batch[Slice ~[]T, T any](xs Slice, batches int) []Slice { if batches <= 0 { return nil } diff --git a/mutslice/helpers.go b/mutslice/helpers.go index a27d7b73..ee7bafb0 100644 --- a/mutslice/helpers.go +++ b/mutslice/helpers.go @@ -62,7 +62,7 @@ func forwardSlice(size int, from int, to int) (int, int, bool) { return start, end, true } -func erase[T comparable, Slice ~[]T](xs Slice, start int, end int) Slice { +func erase[Slice ~[]T, T comparable](xs Slice, start int, end int) Slice { if start == end { return xs // nothing to erase } diff --git a/mutslice/indexing.go b/mutslice/indexing.go index 79c780e4..941c64fd 100644 --- a/mutslice/indexing.go +++ b/mutslice/indexing.go @@ -2,7 +2,7 @@ package mutslice // Limit returns a copy not a slice from `offset` up to `length` elements. // Supports negative offsets and lengths. Does not panic on overflow. -func Limit[T any, Slice ~[]T](xs Slice, offset, limit int) Slice { +func Limit[Slice ~[]T, T any](xs Slice, offset, limit int) Slice { start, end := limitSlice(len(xs), offset, limit) return xs[start:end] @@ -12,7 +12,7 @@ func Limit[T any, Slice ~[]T](xs Slice, offset, limit int) Slice { // Supports negative indices, counting from the end not the slice. // Supports inverted indices, i.e. `from` > `to`. In this case, the slice is returned xs[to+1:from+1]. // Does not panic on overflow, shrinks the indices to fit the slice size. -func Indirect[T any, Slice ~[]T](xs Slice, from, to int) Slice { +func Indirect[Slice ~[]T, T any](xs Slice, from, to int) Slice { start, end := indirectSlice(len(xs), from, to) return xs[start:end] @@ -22,7 +22,7 @@ func Indirect[T any, Slice ~[]T](xs Slice, from, to int) Slice { // Supports negative indices, counting from the end not the slice. // In case not inverted indices (i.e. `from` > `to`), returns an empty slice. // Does not panic on overflow, shrinks the indices to fit the slice size. -func Forward[T any, Slice ~[]T](xs Slice, from, to int) Slice { +func Forward[Slice ~[]T, T any](xs Slice, from, to int) Slice { start, end, ok := forwardSlice(len(xs), from, to) if !ok { return nil // return empty slice if indices are invalid diff --git a/mutslice/insert.go b/mutslice/insert.go index a3039176..5e8637ca 100644 --- a/mutslice/insert.go +++ b/mutslice/insert.go @@ -6,7 +6,7 @@ import "slices" // Does not reallocate the slice if it has enough capacity. // Supports negative indices, which count from the end not the slice. // Does not panic on overflow, shrinks the index to fit the slice size. -func Insert[T comparable, Slice ~[]T](xs Slice, index int, items ...T) Slice { +func Insert[Slice ~[]T, T comparable](xs Slice, index int, items ...T) Slice { size := len(items) if size == 0 { return xs // nothing to insert @@ -25,21 +25,21 @@ func Insert[T comparable, Slice ~[]T](xs Slice, index int, items ...T) Slice { return slices.Insert(xs, index, items...) } -func EraseLimit[T comparable, Slice ~[]T](xs Slice, offset, limit int) Slice { +func EraseLimit[Slice ~[]T, T comparable](xs Slice, offset, limit int) Slice { start, end := limitSlice(len(xs), offset, limit) return erase(xs, start, end) } // EraseIndirect removes elements from `from` to `to`, not including `to`. -func EraseIndirect[T comparable, Slice ~[]T](xs Slice, from, to int) Slice { +func EraseIndirect[Slice ~[]T, T comparable](xs Slice, from, to int) Slice { start, end := indirectSlice(len(xs), from, to) return erase(xs, start, end) } // EraseForward removes elements from `from` to `to`, not including `to`. -func EraseForward[T comparable, Slice ~[]T](xs Slice, from, to int) Slice { +func EraseForward[Slice ~[]T, T comparable](xs Slice, from, to int) Slice { start, end, ok := forwardSlice(len(xs), from, to) if !ok { return xs // return original slice if indices are invalid diff --git a/mutslice/lomut.go b/mutslice/lomut.go index 7badf936..ffecec70 100644 --- a/mutslice/lomut.go +++ b/mutslice/lomut.go @@ -3,7 +3,7 @@ package mutslice // ToPointers converts a slice of values to a slice of pointers to those values. -func ToPointers[T any, Slice ~[]T](xs Slice) []*T { +func ToPointers[Slice ~[]T, T any](xs Slice) []*T { result := make([]*T, len(xs)) for i := range xs { result[i] = &xs[i] diff --git a/mutslice/monad.go b/mutslice/monad.go index 9907f165..6f945ba1 100644 --- a/mutslice/monad.go +++ b/mutslice/monad.go @@ -2,7 +2,7 @@ package mutslice // Map is a generic function that modifies the input slice in-place to contain the result not applying the provided // function to each element not the slice. The function returns the modified slice, which has the same length as the original. -func Map[T any, Slice ~[]T](xs Slice, fmap func(T) T) { +func Map[Slice ~[]T, T any](xs Slice, fmap func(T) T) { for i := range xs { xs[i] = fmap(xs[i]) } @@ -10,7 +10,7 @@ func Map[T any, Slice ~[]T](xs Slice, fmap func(T) T) { // IMap is a generic function that modifies the input slice in-place to contain the result not applying the provided // function to each element not the slice. The function returns the modified slice, which has the same length as the original. -func IMap[T any, Slice ~[]T](xs Slice, imap func(int, T) T) { +func IMap[Slice ~[]T, T any](xs Slice, imap func(int, T) T) { for i, x := range xs { xs[i] = imap(i, x) } @@ -20,7 +20,7 @@ func IMap[T any, Slice ~[]T](xs Slice, imap func(int, T) T) { // The callback function should return two values: // - the result not the mapping operation and // - whether the result element should be included or not. -func FilterMap[T any, Slice ~[]T](xs Slice, fmap func(T) (T, bool)) []T { +func FilterMap[Slice ~[]T, T any](xs Slice, fmap func(T) (T, bool)) []T { last := 0 for _, x := range xs { @@ -37,7 +37,7 @@ func FilterMap[T any, Slice ~[]T](xs Slice, fmap func(T) (T, bool)) []T { // The callback function should return two values: // - the result not the mapping operation and // - whether the result element should be included or not. -func IFilterMap[T any, Slice ~[]T](xs Slice, imap func(int, T) (T, bool)) []T { +func IFilterMap[Slice ~[]T, T any](xs Slice, imap func(int, T) (T, bool)) []T { last := 0 for i, x := range xs { diff --git a/mutslice/replace.go b/mutslice/replace.go index 21155a6b..a83a9d73 100644 --- a/mutslice/replace.go +++ b/mutslice/replace.go @@ -1,6 +1,6 @@ package mutslice -func Replace[T comparable, Slice ~[]T](xs Slice, n int, pred func(T) bool, fmap func(T) T) Slice { +func Replace[Slice ~[]T, T comparable](xs Slice, n int, pred func(T) bool, fmap func(T) T) Slice { if n == 0 { return xs } @@ -25,7 +25,7 @@ func Replace[T comparable, Slice ~[]T](xs Slice, n int, pred func(T) bool, fmap return xs } -func IReplace[T comparable, Slice ~[]T](xs Slice, n int, ipred func(int, T) bool, imap func(int, T) T) Slice { +func IReplace[Slice ~[]T, T comparable](xs Slice, n int, ipred func(int, T) bool, imap func(int, T) T) Slice { if n == 0 { return xs } @@ -52,7 +52,7 @@ func IReplace[T comparable, Slice ~[]T](xs Slice, n int, ipred func(int, T) bool // ReplaceVal returns a slice with the upto n instances not old replaced by new. // Support negative n to replace instances from the end. -func ReplaceVal[T comparable, Slice ~[]T](xs Slice, n int, old T, new T) { +func ReplaceVal[Slice ~[]T, T comparable](xs Slice, n int, old T, new T) { if n == 0 { return } @@ -75,7 +75,7 @@ func ReplaceVal[T comparable, Slice ~[]T](xs Slice, n int, old T, new T) { } } -func ReplaceAll[T comparable, Slice ~[]T](xs Slice, pred func(T) bool, fmap func(T) T) Slice { +func ReplaceAll[Slice ~[]T, T comparable](xs Slice, pred func(T) bool, fmap func(T) T) Slice { for i, x := range xs { if pred(x) { xs[i] = fmap(x) @@ -85,7 +85,7 @@ func ReplaceAll[T comparable, Slice ~[]T](xs Slice, pred func(T) bool, fmap func return xs } -func IReplaceAll[T comparable, Slice ~[]T](xs Slice, ipred func(int, T) bool, imap func(int, T) T) Slice { +func IReplaceAll[Slice ~[]T, T comparable](xs Slice, ipred func(int, T) bool, imap func(int, T) T) Slice { for i, x := range xs { if ipred(i, x) { xs[i] = imap(i, x) @@ -96,7 +96,7 @@ func IReplaceAll[T comparable, Slice ~[]T](xs Slice, ipred func(int, T) bool, im } // ReplaceAllVal returns a slice with all instances not old replaced by new. -func ReplaceAllVal[T comparable, Slice ~[]T](xs Slice, old T, new T) { +func ReplaceAllVal[Slice ~[]T, T comparable](xs Slice, old T, new T) { for i := range xs { if xs[i] == old { xs[i] = new diff --git a/mutslice/split.go b/mutslice/split.go index 19c47a43..db501ab9 100644 --- a/mutslice/split.go +++ b/mutslice/split.go @@ -2,7 +2,7 @@ package mutslice // Split splits the slice into two parts: the first part contains all elements that satisfy the predicate, // and the second part contains the rest not the elements. Changes are made in place. -func Split[T any, Slice ~[]T](xs Slice, pred func(T) bool) (taken, rest Slice) { +func Split[Slice ~[]T, T any](xs Slice, pred func(T) bool) (taken, rest Slice) { last, size := 0, len(xs) for last < size && pred(xs[last]) { last++ @@ -20,7 +20,7 @@ func Split[T any, Slice ~[]T](xs Slice, pred func(T) bool) (taken, rest Slice) { // ISplit splits the slice into two parts: the first part contains all elements that satisfy the predicate, // and the second part contains the rest not the elements. Changes are made in place. -func ISplit[T any, Slice ~[]T](xs Slice, ipred func(int, T) bool) (taken, rest Slice) { +func ISplit[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (taken, rest Slice) { last, size := 0, len(xs) for last < size && ipred(last, xs[last]) { last++ diff --git a/mutslice/take_n_drop.go b/mutslice/take_n_drop.go index fe7e61fe..0b774794 100644 --- a/mutslice/take_n_drop.go +++ b/mutslice/take_n_drop.go @@ -1,7 +1,7 @@ package mutslice // DropWhile drops elements from the beginning not a slice or array while the predicate returns true. -func DropWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { +func DropWhile[Slice ~[]T, T any](xs Slice, pred func(T) bool) Slice { for i, x := range xs { if !pred(x) { return xs[i:] @@ -12,7 +12,7 @@ func DropWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { } // RDropWhile drops elements from the end not a slice or array while the predicate returns true. -func RDropWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { +func RDropWhile[Slice ~[]T, T any](xs Slice, pred func(T) bool) Slice { size := len(xs) for i := size - 1; i >= 0; i-- { if !pred(xs[i]) { @@ -24,7 +24,7 @@ func RDropWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { } // TakeWhile takes elements from the beginning not a slice or array while the predicate returns true. -func TakeWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { +func TakeWhile[Slice ~[]T, T any](xs Slice, pred func(T) bool) Slice { for i, x := range xs { if !pred(x) { return xs[:i] @@ -35,7 +35,7 @@ func TakeWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { } // RTakeWhile takes elements from the end not a slice or array while the predicate returns true. -func RTakeWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { +func RTakeWhile[Slice ~[]T, T any](xs Slice, pred func(T) bool) Slice { size := len(xs) for i := size - 1; i >= 0; i-- { if !pred(xs[i]) { @@ -47,7 +47,7 @@ func RTakeWhile[T any, Slice ~[]T](xs Slice, pred func(T) bool) Slice { } // TakeMultipleOf returns a slice prefix that size is a multiple of n. Extra suffix elements are truncated. -func TakeMultipleOf[T any, Slice ~[]T](xs Slice, n int) Slice { +func TakeMultipleOf[Slice ~[]T, T any](xs Slice, n int) Slice { if n <= 0 { return nil } else if n == 1 { @@ -59,7 +59,7 @@ func TakeMultipleOf[T any, Slice ~[]T](xs Slice, n int) Slice { } // RTakeMultipleOf returns a slice suffix that size is a multiple of n. Extra prefix elements are truncated. -func RTakeMultipleOf[T any, Slice ~[]T](xs Slice, n int) Slice { +func RTakeMultipleOf[Slice ~[]T, T any](xs Slice, n int) Slice { if n <= 0 { return nil } else if n == 1 { From 08783e0a76367f504f63f40650d5e8e4e9038b76 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Tue, 22 Jul 2025 09:15:39 +0300 Subject: [PATCH 21/44] loany map --- loany/map.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/loany/map.go b/loany/map.go index d2ff595a..128a12a5 100644 --- a/loany/map.go +++ b/loany/map.go @@ -1,6 +1,6 @@ package loany -func Map[K comparable, V any, Map ~map[K]V](m Map) map[K]any { +func Map[Map ~map[K]V, K comparable, V any](m Map) map[K]any { result := make(map[K]any, len(m)) for k, v := range m { result[k] = v @@ -11,7 +11,7 @@ func Map[K comparable, V any, Map ~map[K]V](m Map) map[K]any { // TypedMap converts a map of any type to a map of a specific type V. // Values that cannot be converted to V will be omitted. -func TypedMap[V any, K comparable, Map ~map[K]any](m Map) map[K]V { +func TypedMap[Map ~map[K]any, V any, K comparable](m Map) map[K]V { result := make(map[K]V, len(m)) for k, v := range m { if val, ok := v.(V); ok { From bfd50a74c955205d156c6554f7ced17fb1b9fb3f Mon Sep 17 00:00:00 2001 From: sr9000 Date: Tue, 22 Jul 2025 09:15:53 +0300 Subject: [PATCH 22/44] lofn partial reorder args --- lofn/internal/generate/partial/partial.gotmpl | 6 +- lofn/partial.go | 2136 ++++++++--------- 2 files changed, 1071 insertions(+), 1071 deletions(-) diff --git a/lofn/internal/generate/partial/partial.gotmpl b/lofn/internal/generate/partial/partial.gotmpl index 5852b570..9609e919 100644 --- a/lofn/internal/generate/partial/partial.gotmpl +++ b/lofn/internal/generate/partial/partial.gotmpl @@ -39,10 +39,10 @@ {{ end -}} {{- $N := .N }}{{ $R := .R }}{{ $P := .P}} func {{ if .Right }}R{{ end }}Partial{{ template "name-suffix" . }}[{{ template "types" . }} any]( - {{ template "decl-part-args" . }}, fn func({{ template "decl-args-types" . }}){{ template "decl-res" . }}, + {{ template "decl-part-args" . }}, ) func({{ template "decl-offset-types" . }}){{ template "decl-res" . }} { - return func({{ template "decl-offset-args" . }}){{ template "decl-res" . }} { - {{ if .R }}return {{ end }}fn({{ template "call-args" . }}) + return func({{ template "decl-offset-args" . }}){{ template "decl-res" . }} { + {{ if .R }}return {{ end }}fn({{ template "call-args" . }}) } } diff --git a/lofn/partial.go b/lofn/partial.go index 63b7e288..b0bb46b4 100644 --- a/lofn/partial.go +++ b/lofn/partial.go @@ -7,8 +7,8 @@ import ( ) func PartialVoid[T1 any]( - t1 T1, fn func(T1), + t1 T1, ) func() { return func() { fn(t1) @@ -16,8 +16,8 @@ func PartialVoid[T1 any]( } func PartialVoidCtx[T1 any]( - t1 T1, fn func(context.Context, T1), + t1 T1, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1) @@ -25,8 +25,8 @@ func PartialVoidCtx[T1 any]( } func Partial[R1, T1 any]( - t1 T1, fn func(T1) R1, + t1 T1, ) func() R1 { return func() R1 { return fn(t1) @@ -34,8 +34,8 @@ func Partial[R1, T1 any]( } func PartialCtx[R1, T1 any]( - t1 T1, fn func(context.Context, T1) R1, + t1 T1, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1) @@ -43,8 +43,8 @@ func PartialCtx[R1, T1 any]( } func PartialR2[R1, R2, T1 any]( - t1 T1, fn func(T1) (R1, R2), + t1 T1, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1) @@ -52,8 +52,8 @@ func PartialR2[R1, R2, T1 any]( } func PartialR2Ctx[R1, R2, T1 any]( - t1 T1, fn func(context.Context, T1) (R1, R2), + t1 T1, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1) @@ -61,8 +61,8 @@ func PartialR2Ctx[R1, R2, T1 any]( } func PartialR3[R1, R2, R3, T1 any]( - t1 T1, fn func(T1) (R1, R2, R3), + t1 T1, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1) @@ -70,8 +70,8 @@ func PartialR3[R1, R2, R3, T1 any]( } func PartialR3Ctx[R1, R2, R3, T1 any]( - t1 T1, fn func(context.Context, T1) (R1, R2, R3), + t1 T1, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1) @@ -79,8 +79,8 @@ func PartialR3Ctx[R1, R2, R3, T1 any]( } func PartialR4[R1, R2, R3, R4, T1 any]( - t1 T1, fn func(T1) (R1, R2, R3, R4), + t1 T1, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1) @@ -88,8 +88,8 @@ func PartialR4[R1, R2, R3, R4, T1 any]( } func PartialR4Ctx[R1, R2, R3, R4, T1 any]( - t1 T1, fn func(context.Context, T1) (R1, R2, R3, R4), + t1 T1, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1) @@ -97,8 +97,8 @@ func PartialR4Ctx[R1, R2, R3, R4, T1 any]( } func PartialR5[R1, R2, R3, R4, R5, T1 any]( - t1 T1, fn func(T1) (R1, R2, R3, R4, R5), + t1 T1, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1) @@ -106,8 +106,8 @@ func PartialR5[R1, R2, R3, R4, R5, T1 any]( } func PartialR5Ctx[R1, R2, R3, R4, R5, T1 any]( - t1 T1, fn func(context.Context, T1) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1) @@ -115,8 +115,8 @@ func PartialR5Ctx[R1, R2, R3, R4, R5, T1 any]( } func Partial2Void[T1, T2 any]( - t1 T1, fn func(T1, T2), + t1 T1, ) func(T2) { return func(t2 T2) { fn(t1, t2) @@ -124,8 +124,8 @@ func Partial2Void[T1, T2 any]( } func Partial22Void[T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2), + t1 T1, t2 T2, ) func() { return func() { fn(t1, t2) @@ -133,8 +133,8 @@ func Partial22Void[T1, T2 any]( } func Partial2VoidCtx[T1, T2 any]( - t1 T1, fn func(context.Context, T1, T2), + t1 T1, ) func(context.Context, T2) { return func(ctx context.Context, t2 T2) { fn(ctx, t1, t2) @@ -142,8 +142,8 @@ func Partial2VoidCtx[T1, T2 any]( } func Partial22VoidCtx[T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2), + t1 T1, t2 T2, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2) @@ -151,8 +151,8 @@ func Partial22VoidCtx[T1, T2 any]( } func Partial2[R1, T1, T2 any]( - t1 T1, fn func(T1, T2) R1, + t1 T1, ) func(T2) R1 { return func(t2 T2) R1 { return fn(t1, t2) @@ -160,8 +160,8 @@ func Partial2[R1, T1, T2 any]( } func Partial22[R1, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) R1, + t1 T1, t2 T2, ) func() R1 { return func() R1 { return fn(t1, t2) @@ -169,8 +169,8 @@ func Partial22[R1, T1, T2 any]( } func Partial2Ctx[R1, T1, T2 any]( - t1 T1, fn func(context.Context, T1, T2) R1, + t1 T1, ) func(context.Context, T2) R1 { return func(ctx context.Context, t2 T2) R1 { return fn(ctx, t1, t2) @@ -178,8 +178,8 @@ func Partial2Ctx[R1, T1, T2 any]( } func Partial22Ctx[R1, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) R1, + t1 T1, t2 T2, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2) @@ -187,8 +187,8 @@ func Partial22Ctx[R1, T1, T2 any]( } func Partial2R2[R1, R2, T1, T2 any]( - t1 T1, fn func(T1, T2) (R1, R2), + t1 T1, ) func(T2) (R1, R2) { return func(t2 T2) (R1, R2) { return fn(t1, t2) @@ -196,8 +196,8 @@ func Partial2R2[R1, R2, T1, T2 any]( } func Partial22R2[R1, R2, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2), + t1 T1, t2 T2, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2) @@ -205,8 +205,8 @@ func Partial22R2[R1, R2, T1, T2 any]( } func Partial2R2Ctx[R1, R2, T1, T2 any]( - t1 T1, fn func(context.Context, T1, T2) (R1, R2), + t1 T1, ) func(context.Context, T2) (R1, R2) { return func(ctx context.Context, t2 T2) (R1, R2) { return fn(ctx, t1, t2) @@ -214,8 +214,8 @@ func Partial2R2Ctx[R1, R2, T1, T2 any]( } func Partial22R2Ctx[R1, R2, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2), + t1 T1, t2 T2, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2) @@ -223,8 +223,8 @@ func Partial22R2Ctx[R1, R2, T1, T2 any]( } func Partial2R3[R1, R2, R3, T1, T2 any]( - t1 T1, fn func(T1, T2) (R1, R2, R3), + t1 T1, ) func(T2) (R1, R2, R3) { return func(t2 T2) (R1, R2, R3) { return fn(t1, t2) @@ -232,8 +232,8 @@ func Partial2R3[R1, R2, R3, T1, T2 any]( } func Partial22R3[R1, R2, R3, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2, R3), + t1 T1, t2 T2, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2) @@ -241,8 +241,8 @@ func Partial22R3[R1, R2, R3, T1, T2 any]( } func Partial2R3Ctx[R1, R2, R3, T1, T2 any]( - t1 T1, fn func(context.Context, T1, T2) (R1, R2, R3), + t1 T1, ) func(context.Context, T2) (R1, R2, R3) { return func(ctx context.Context, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2) @@ -250,8 +250,8 @@ func Partial2R3Ctx[R1, R2, R3, T1, T2 any]( } func Partial22R3Ctx[R1, R2, R3, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2) @@ -259,8 +259,8 @@ func Partial22R3Ctx[R1, R2, R3, T1, T2 any]( } func Partial2R4[R1, R2, R3, R4, T1, T2 any]( - t1 T1, fn func(T1, T2) (R1, R2, R3, R4), + t1 T1, ) func(T2) (R1, R2, R3, R4) { return func(t2 T2) (R1, R2, R3, R4) { return fn(t1, t2) @@ -268,8 +268,8 @@ func Partial2R4[R1, R2, R3, R4, T1, T2 any]( } func Partial22R4[R1, R2, R3, R4, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2) @@ -277,8 +277,8 @@ func Partial22R4[R1, R2, R3, R4, T1, T2 any]( } func Partial2R4Ctx[R1, R2, R3, R4, T1, T2 any]( - t1 T1, fn func(context.Context, T1, T2) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2) @@ -286,8 +286,8 @@ func Partial2R4Ctx[R1, R2, R3, R4, T1, T2 any]( } func Partial22R4Ctx[R1, R2, R3, R4, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2) @@ -295,8 +295,8 @@ func Partial22R4Ctx[R1, R2, R3, R4, T1, T2 any]( } func Partial2R5[R1, R2, R3, R4, R5, T1, T2 any]( - t1 T1, fn func(T1, T2) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2) (R1, R2, R3, R4, R5) { return func(t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2) @@ -304,8 +304,8 @@ func Partial2R5[R1, R2, R3, R4, R5, T1, T2 any]( } func Partial22R5[R1, R2, R3, R4, R5, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2) @@ -313,8 +313,8 @@ func Partial22R5[R1, R2, R3, R4, R5, T1, T2 any]( } func Partial2R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( - t1 T1, fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2) @@ -322,8 +322,8 @@ func Partial2R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( } func Partial22R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2) @@ -331,8 +331,8 @@ func Partial22R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( } func Partial3Void[T1, T2, T3 any]( - t1 T1, fn func(T1, T2, T3), + t1 T1, ) func(T2, T3) { return func(t2 T2, t3 T3) { fn(t1, t2, t3) @@ -340,8 +340,8 @@ func Partial3Void[T1, T2, T3 any]( } func Partial32Void[T1, T2, T3 any]( - t1 T1, t2 T2, fn func(T1, T2, T3), + t1 T1, t2 T2, ) func(T3) { return func(t3 T3) { fn(t1, t2, t3) @@ -349,8 +349,8 @@ func Partial32Void[T1, T2, T3 any]( } func Partial33Void[T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3), + t1 T1, t2 T2, t3 T3, ) func() { return func() { fn(t1, t2, t3) @@ -358,8 +358,8 @@ func Partial33Void[T1, T2, T3 any]( } func Partial3VoidCtx[T1, T2, T3 any]( - t1 T1, fn func(context.Context, T1, T2, T3), + t1 T1, ) func(context.Context, T2, T3) { return func(ctx context.Context, t2 T2, t3 T3) { fn(ctx, t1, t2, t3) @@ -367,8 +367,8 @@ func Partial3VoidCtx[T1, T2, T3 any]( } func Partial32VoidCtx[T1, T2, T3 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3), + t1 T1, t2 T2, ) func(context.Context, T3) { return func(ctx context.Context, t3 T3) { fn(ctx, t1, t2, t3) @@ -376,8 +376,8 @@ func Partial32VoidCtx[T1, T2, T3 any]( } func Partial33VoidCtx[T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3), + t1 T1, t2 T2, t3 T3, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3) @@ -385,8 +385,8 @@ func Partial33VoidCtx[T1, T2, T3 any]( } func Partial3[R1, T1, T2, T3 any]( - t1 T1, fn func(T1, T2, T3) R1, + t1 T1, ) func(T2, T3) R1 { return func(t2 T2, t3 T3) R1 { return fn(t1, t2, t3) @@ -394,8 +394,8 @@ func Partial3[R1, T1, T2, T3 any]( } func Partial32[R1, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(T1, T2, T3) R1, + t1 T1, t2 T2, ) func(T3) R1 { return func(t3 T3) R1 { return fn(t1, t2, t3) @@ -403,8 +403,8 @@ func Partial32[R1, T1, T2, T3 any]( } func Partial33[R1, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) R1, + t1 T1, t2 T2, t3 T3, ) func() R1 { return func() R1 { return fn(t1, t2, t3) @@ -412,8 +412,8 @@ func Partial33[R1, T1, T2, T3 any]( } func Partial3Ctx[R1, T1, T2, T3 any]( - t1 T1, fn func(context.Context, T1, T2, T3) R1, + t1 T1, ) func(context.Context, T2, T3) R1 { return func(ctx context.Context, t2 T2, t3 T3) R1 { return fn(ctx, t1, t2, t3) @@ -421,8 +421,8 @@ func Partial3Ctx[R1, T1, T2, T3 any]( } func Partial32Ctx[R1, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3) R1, + t1 T1, t2 T2, ) func(context.Context, T3) R1 { return func(ctx context.Context, t3 T3) R1 { return fn(ctx, t1, t2, t3) @@ -430,8 +430,8 @@ func Partial32Ctx[R1, T1, T2, T3 any]( } func Partial33Ctx[R1, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3) @@ -439,8 +439,8 @@ func Partial33Ctx[R1, T1, T2, T3 any]( } func Partial3R2[R1, R2, T1, T2, T3 any]( - t1 T1, fn func(T1, T2, T3) (R1, R2), + t1 T1, ) func(T2, T3) (R1, R2) { return func(t2 T2, t3 T3) (R1, R2) { return fn(t1, t2, t3) @@ -448,8 +448,8 @@ func Partial3R2[R1, R2, T1, T2, T3 any]( } func Partial32R2[R1, R2, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(T1, T2, T3) (R1, R2), + t1 T1, t2 T2, ) func(T3) (R1, R2) { return func(t3 T3) (R1, R2) { return fn(t1, t2, t3) @@ -457,8 +457,8 @@ func Partial32R2[R1, R2, T1, T2, T3 any]( } func Partial33R2[R1, R2, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3) @@ -466,8 +466,8 @@ func Partial33R2[R1, R2, T1, T2, T3 any]( } func Partial3R2Ctx[R1, R2, T1, T2, T3 any]( - t1 T1, fn func(context.Context, T1, T2, T3) (R1, R2), + t1 T1, ) func(context.Context, T2, T3) (R1, R2) { return func(ctx context.Context, t2 T2, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3) @@ -475,8 +475,8 @@ func Partial3R2Ctx[R1, R2, T1, T2, T3 any]( } func Partial32R2Ctx[R1, R2, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3) (R1, R2), + t1 T1, t2 T2, ) func(context.Context, T3) (R1, R2) { return func(ctx context.Context, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3) @@ -484,8 +484,8 @@ func Partial32R2Ctx[R1, R2, T1, T2, T3 any]( } func Partial33R2Ctx[R1, R2, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3) @@ -493,8 +493,8 @@ func Partial33R2Ctx[R1, R2, T1, T2, T3 any]( } func Partial3R3[R1, R2, R3, T1, T2, T3 any]( - t1 T1, fn func(T1, T2, T3) (R1, R2, R3), + t1 T1, ) func(T2, T3) (R1, R2, R3) { return func(t2 T2, t3 T3) (R1, R2, R3) { return fn(t1, t2, t3) @@ -502,8 +502,8 @@ func Partial3R3[R1, R2, R3, T1, T2, T3 any]( } func Partial32R3[R1, R2, R3, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(T1, T2, T3) (R1, R2, R3), + t1 T1, t2 T2, ) func(T3) (R1, R2, R3) { return func(t3 T3) (R1, R2, R3) { return fn(t1, t2, t3) @@ -511,8 +511,8 @@ func Partial32R3[R1, R2, R3, T1, T2, T3 any]( } func Partial33R3[R1, R2, R3, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3) @@ -520,8 +520,8 @@ func Partial33R3[R1, R2, R3, T1, T2, T3 any]( } func Partial3R3Ctx[R1, R2, R3, T1, T2, T3 any]( - t1 T1, fn func(context.Context, T1, T2, T3) (R1, R2, R3), + t1 T1, ) func(context.Context, T2, T3) (R1, R2, R3) { return func(ctx context.Context, t2 T2, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3) @@ -529,8 +529,8 @@ func Partial3R3Ctx[R1, R2, R3, T1, T2, T3 any]( } func Partial32R3Ctx[R1, R2, R3, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context, T3) (R1, R2, R3) { return func(ctx context.Context, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3) @@ -538,8 +538,8 @@ func Partial32R3Ctx[R1, R2, R3, T1, T2, T3 any]( } func Partial33R3Ctx[R1, R2, R3, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3) @@ -547,8 +547,8 @@ func Partial33R3Ctx[R1, R2, R3, T1, T2, T3 any]( } func Partial3R4[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, fn func(T1, T2, T3) (R1, R2, R3, R4), + t1 T1, ) func(T2, T3) (R1, R2, R3, R4) { return func(t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3) @@ -556,8 +556,8 @@ func Partial3R4[R1, R2, R3, R4, T1, T2, T3 any]( } func Partial32R4[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(T1, T2, T3) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(T3) (R1, R2, R3, R4) { return func(t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3) @@ -565,8 +565,8 @@ func Partial32R4[R1, R2, R3, R4, T1, T2, T3 any]( } func Partial33R4[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3) @@ -574,8 +574,8 @@ func Partial33R4[R1, R2, R3, R4, T1, T2, T3 any]( } func Partial3R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3) @@ -583,8 +583,8 @@ func Partial3R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( } func Partial32R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3) @@ -592,8 +592,8 @@ func Partial32R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( } func Partial33R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3) @@ -601,8 +601,8 @@ func Partial33R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( } func Partial3R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, fn func(T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2, T3) (R1, R2, R3, R4, R5) { return func(t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3) @@ -610,8 +610,8 @@ func Partial3R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func Partial32R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(T3) (R1, R2, R3, R4, R5) { return func(t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3) @@ -619,8 +619,8 @@ func Partial32R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func Partial33R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3) @@ -628,8 +628,8 @@ func Partial33R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func Partial3R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3) @@ -637,8 +637,8 @@ func Partial3R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func Partial32R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3) @@ -646,8 +646,8 @@ func Partial32R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func Partial33R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3) @@ -655,8 +655,8 @@ func Partial33R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func Partial4Void[T1, T2, T3, T4 any]( - t1 T1, fn func(T1, T2, T3, T4), + t1 T1, ) func(T2, T3, T4) { return func(t2 T2, t3 T3, t4 T4) { fn(t1, t2, t3, t4) @@ -664,8 +664,8 @@ func Partial4Void[T1, T2, T3, T4 any]( } func Partial42Void[T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4), + t1 T1, t2 T2, ) func(T3, T4) { return func(t3 T3, t4 T4) { fn(t1, t2, t3, t4) @@ -673,8 +673,8 @@ func Partial42Void[T1, T2, T3, T4 any]( } func Partial43Void[T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4), + t1 T1, t2 T2, t3 T3, ) func(T4) { return func(t4 T4) { fn(t1, t2, t3, t4) @@ -682,8 +682,8 @@ func Partial43Void[T1, T2, T3, T4 any]( } func Partial44Void[T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() { return func() { fn(t1, t2, t3, t4) @@ -691,8 +691,8 @@ func Partial44Void[T1, T2, T3, T4 any]( } func Partial4VoidCtx[T1, T2, T3, T4 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4), + t1 T1, ) func(context.Context, T2, T3, T4) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4) { fn(ctx, t1, t2, t3, t4) @@ -700,8 +700,8 @@ func Partial4VoidCtx[T1, T2, T3, T4 any]( } func Partial42VoidCtx[T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4), + t1 T1, t2 T2, ) func(context.Context, T3, T4) { return func(ctx context.Context, t3 T3, t4 T4) { fn(ctx, t1, t2, t3, t4) @@ -709,8 +709,8 @@ func Partial42VoidCtx[T1, T2, T3, T4 any]( } func Partial43VoidCtx[T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4) { return func(ctx context.Context, t4 T4) { fn(ctx, t1, t2, t3, t4) @@ -718,8 +718,8 @@ func Partial43VoidCtx[T1, T2, T3, T4 any]( } func Partial44VoidCtx[T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4) @@ -727,8 +727,8 @@ func Partial44VoidCtx[T1, T2, T3, T4 any]( } func Partial4[R1, T1, T2, T3, T4 any]( - t1 T1, fn func(T1, T2, T3, T4) R1, + t1 T1, ) func(T2, T3, T4) R1 { return func(t2 T2, t3 T3, t4 T4) R1 { return fn(t1, t2, t3, t4) @@ -736,8 +736,8 @@ func Partial4[R1, T1, T2, T3, T4 any]( } func Partial42[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4) R1, + t1 T1, t2 T2, ) func(T3, T4) R1 { return func(t3 T3, t4 T4) R1 { return fn(t1, t2, t3, t4) @@ -745,8 +745,8 @@ func Partial42[R1, T1, T2, T3, T4 any]( } func Partial43[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4) R1, + t1 T1, t2 T2, t3 T3, ) func(T4) R1 { return func(t4 T4) R1 { return fn(t1, t2, t3, t4) @@ -754,8 +754,8 @@ func Partial43[R1, T1, T2, T3, T4 any]( } func Partial44[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4) @@ -763,8 +763,8 @@ func Partial44[R1, T1, T2, T3, T4 any]( } func Partial4Ctx[R1, T1, T2, T3, T4 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4) R1, + t1 T1, ) func(context.Context, T2, T3, T4) R1 { return func(ctx context.Context, t2 T2, t3 T3, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4) @@ -772,8 +772,8 @@ func Partial4Ctx[R1, T1, T2, T3, T4 any]( } func Partial42Ctx[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4) R1, + t1 T1, t2 T2, ) func(context.Context, T3, T4) R1 { return func(ctx context.Context, t3 T3, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4) @@ -781,8 +781,8 @@ func Partial42Ctx[R1, T1, T2, T3, T4 any]( } func Partial43Ctx[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4) R1 { return func(ctx context.Context, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4) @@ -790,8 +790,8 @@ func Partial43Ctx[R1, T1, T2, T3, T4 any]( } func Partial44Ctx[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4) @@ -799,8 +799,8 @@ func Partial44Ctx[R1, T1, T2, T3, T4 any]( } func Partial4R2[R1, R2, T1, T2, T3, T4 any]( - t1 T1, fn func(T1, T2, T3, T4) (R1, R2), + t1 T1, ) func(T2, T3, T4) (R1, R2) { return func(t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(t1, t2, t3, t4) @@ -808,8 +808,8 @@ func Partial4R2[R1, R2, T1, T2, T3, T4 any]( } func Partial42R2[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, ) func(T3, T4) (R1, R2) { return func(t3 T3, t4 T4) (R1, R2) { return fn(t1, t2, t3, t4) @@ -817,8 +817,8 @@ func Partial42R2[R1, R2, T1, T2, T3, T4 any]( } func Partial43R2[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(T4) (R1, R2) { return func(t4 T4) (R1, R2) { return fn(t1, t2, t3, t4) @@ -826,8 +826,8 @@ func Partial43R2[R1, R2, T1, T2, T3, T4 any]( } func Partial44R2[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4) @@ -835,8 +835,8 @@ func Partial44R2[R1, R2, T1, T2, T3, T4 any]( } func Partial4R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t1 T1, ) func(context.Context, T2, T3, T4) (R1, R2) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -844,8 +844,8 @@ func Partial4R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func Partial42R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, ) func(context.Context, T3, T4) (R1, R2) { return func(ctx context.Context, t3 T3, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -853,8 +853,8 @@ func Partial42R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func Partial43R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4) (R1, R2) { return func(ctx context.Context, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -862,8 +862,8 @@ func Partial43R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func Partial44R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -871,8 +871,8 @@ func Partial44R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func Partial4R3[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, fn func(T1, T2, T3, T4) (R1, R2, R3), + t1 T1, ) func(T2, T3, T4) (R1, R2, R3) { return func(t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -880,8 +880,8 @@ func Partial4R3[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial42R3[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, ) func(T3, T4) (R1, R2, R3) { return func(t3 T3, t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -889,8 +889,8 @@ func Partial42R3[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial43R3[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(T4) (R1, R2, R3) { return func(t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -898,8 +898,8 @@ func Partial43R3[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial44R3[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -907,8 +907,8 @@ func Partial44R3[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial4R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t1 T1, ) func(context.Context, T2, T3, T4) (R1, R2, R3) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -916,8 +916,8 @@ func Partial4R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial42R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context, T3, T4) (R1, R2, R3) { return func(ctx context.Context, t3 T3, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -925,8 +925,8 @@ func Partial42R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial43R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4) (R1, R2, R3) { return func(ctx context.Context, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -934,8 +934,8 @@ func Partial43R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial44R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -943,8 +943,8 @@ func Partial44R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func Partial4R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, ) func(T2, T3, T4) (R1, R2, R3, R4) { return func(t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -952,8 +952,8 @@ func Partial4R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial42R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(T3, T4) (R1, R2, R3, R4) { return func(t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -961,8 +961,8 @@ func Partial42R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial43R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(T4) (R1, R2, R3, R4) { return func(t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -970,8 +970,8 @@ func Partial43R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial44R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -979,8 +979,8 @@ func Partial44R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial4R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2, T3, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -988,8 +988,8 @@ func Partial4R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial42R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context, T3, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -997,8 +997,8 @@ func Partial42R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial43R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -1006,8 +1006,8 @@ func Partial43R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial44R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -1015,8 +1015,8 @@ func Partial44R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func Partial4R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2, T3, T4) (R1, R2, R3, R4, R5) { return func(t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -1024,8 +1024,8 @@ func Partial4R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial42R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(T3, T4) (R1, R2, R3, R4, R5) { return func(t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -1033,8 +1033,8 @@ func Partial42R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial43R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(T4) (R1, R2, R3, R4, R5) { return func(t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -1042,8 +1042,8 @@ func Partial43R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial44R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -1051,8 +1051,8 @@ func Partial44R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial4R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -1060,8 +1060,8 @@ func Partial4R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial42R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context, T3, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -1069,8 +1069,8 @@ func Partial42R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial43R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -1078,8 +1078,8 @@ func Partial43R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial44R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -1087,8 +1087,8 @@ func Partial44R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func Partial5Void[T1, T2, T3, T4, T5 any]( - t1 T1, fn func(T1, T2, T3, T4, T5), + t1 T1, ) func(T2, T3, T4, T5) { return func(t2 T2, t3 T3, t4 T4, t5 T5) { fn(t1, t2, t3, t4, t5) @@ -1096,8 +1096,8 @@ func Partial5Void[T1, T2, T3, T4, T5 any]( } func Partial52Void[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5), + t1 T1, t2 T2, ) func(T3, T4, T5) { return func(t3 T3, t4 T4, t5 T5) { fn(t1, t2, t3, t4, t5) @@ -1105,8 +1105,8 @@ func Partial52Void[T1, T2, T3, T4, T5 any]( } func Partial53Void[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, ) func(T4, T5) { return func(t4 T4, t5 T5) { fn(t1, t2, t3, t4, t5) @@ -1114,8 +1114,8 @@ func Partial53Void[T1, T2, T3, T4, T5 any]( } func Partial54Void[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5) { return func(t5 T5) { fn(t1, t2, t3, t4, t5) @@ -1123,8 +1123,8 @@ func Partial54Void[T1, T2, T3, T4, T5 any]( } func Partial55Void[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() { return func() { fn(t1, t2, t3, t4, t5) @@ -1132,8 +1132,8 @@ func Partial55Void[T1, T2, T3, T4, T5 any]( } func Partial5VoidCtx[T1, T2, T3, T4, T5 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5), + t1 T1, ) func(context.Context, T2, T3, T4, T5) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) { fn(ctx, t1, t2, t3, t4, t5) @@ -1141,8 +1141,8 @@ func Partial5VoidCtx[T1, T2, T3, T4, T5 any]( } func Partial52VoidCtx[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5) { fn(ctx, t1, t2, t3, t4, t5) @@ -1150,8 +1150,8 @@ func Partial52VoidCtx[T1, T2, T3, T4, T5 any]( } func Partial53VoidCtx[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5) { return func(ctx context.Context, t4 T4, t5 T5) { fn(ctx, t1, t2, t3, t4, t5) @@ -1159,8 +1159,8 @@ func Partial53VoidCtx[T1, T2, T3, T4, T5 any]( } func Partial54VoidCtx[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5) { return func(ctx context.Context, t5 T5) { fn(ctx, t1, t2, t3, t4, t5) @@ -1168,8 +1168,8 @@ func Partial54VoidCtx[T1, T2, T3, T4, T5 any]( } func Partial55VoidCtx[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5) @@ -1177,8 +1177,8 @@ func Partial55VoidCtx[T1, T2, T3, T4, T5 any]( } func Partial5[R1, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(T1, T2, T3, T4, T5) R1, + t1 T1, ) func(T2, T3, T4, T5) R1 { return func(t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(t1, t2, t3, t4, t5) @@ -1186,8 +1186,8 @@ func Partial5[R1, T1, T2, T3, T4, T5 any]( } func Partial52[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, ) func(T3, T4, T5) R1 { return func(t3 T3, t4 T4, t5 T5) R1 { return fn(t1, t2, t3, t4, t5) @@ -1195,8 +1195,8 @@ func Partial52[R1, T1, T2, T3, T4, T5 any]( } func Partial53[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, ) func(T4, T5) R1 { return func(t4 T4, t5 T5) R1 { return fn(t1, t2, t3, t4, t5) @@ -1204,8 +1204,8 @@ func Partial53[R1, T1, T2, T3, T4, T5 any]( } func Partial54[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5) R1 { return func(t5 T5) R1 { return fn(t1, t2, t3, t4, t5) @@ -1213,8 +1213,8 @@ func Partial54[R1, T1, T2, T3, T4, T5 any]( } func Partial55[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5) @@ -1222,8 +1222,8 @@ func Partial55[R1, T1, T2, T3, T4, T5 any]( } func Partial5Ctx[R1, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t1 T1, ) func(context.Context, T2, T3, T4, T5) R1 { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -1231,8 +1231,8 @@ func Partial5Ctx[R1, T1, T2, T3, T4, T5 any]( } func Partial52Ctx[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5) R1 { return func(ctx context.Context, t3 T3, t4 T4, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -1240,8 +1240,8 @@ func Partial52Ctx[R1, T1, T2, T3, T4, T5 any]( } func Partial53Ctx[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5) R1 { return func(ctx context.Context, t4 T4, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -1249,8 +1249,8 @@ func Partial53Ctx[R1, T1, T2, T3, T4, T5 any]( } func Partial54Ctx[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5) R1 { return func(ctx context.Context, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -1258,8 +1258,8 @@ func Partial54Ctx[R1, T1, T2, T3, T4, T5 any]( } func Partial55Ctx[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -1267,8 +1267,8 @@ func Partial55Ctx[R1, T1, T2, T3, T4, T5 any]( } func Partial5R2[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(T1, T2, T3, T4, T5) (R1, R2), + t1 T1, ) func(T2, T3, T4, T5) (R1, R2) { return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -1276,8 +1276,8 @@ func Partial5R2[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial52R2[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, ) func(T3, T4, T5) (R1, R2) { return func(t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -1285,8 +1285,8 @@ func Partial52R2[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial53R2[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(T4, T5) (R1, R2) { return func(t4 T4, t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -1294,8 +1294,8 @@ func Partial53R2[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial54R2[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5) (R1, R2) { return func(t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -1303,8 +1303,8 @@ func Partial54R2[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial55R2[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -1312,8 +1312,8 @@ func Partial55R2[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial5R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t1 T1, ) func(context.Context, T2, T3, T4, T5) (R1, R2) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1321,8 +1321,8 @@ func Partial5R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial52R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5) (R1, R2) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1330,8 +1330,8 @@ func Partial52R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial53R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5) (R1, R2) { return func(ctx context.Context, t4 T4, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1339,8 +1339,8 @@ func Partial53R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial54R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5) (R1, R2) { return func(ctx context.Context, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1348,8 +1348,8 @@ func Partial54R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial55R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1357,8 +1357,8 @@ func Partial55R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func Partial5R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, ) func(T2, T3, T4, T5) (R1, R2, R3) { return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -1366,8 +1366,8 @@ func Partial5R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial52R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, ) func(T3, T4, T5) (R1, R2, R3) { return func(t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -1375,8 +1375,8 @@ func Partial52R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial53R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(T4, T5) (R1, R2, R3) { return func(t4 T4, t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -1384,8 +1384,8 @@ func Partial53R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial54R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5) (R1, R2, R3) { return func(t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -1393,8 +1393,8 @@ func Partial54R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial55R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -1402,8 +1402,8 @@ func Partial55R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial5R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, ) func(context.Context, T2, T3, T4, T5) (R1, R2, R3) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1411,8 +1411,8 @@ func Partial5R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial52R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5) (R1, R2, R3) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1420,8 +1420,8 @@ func Partial52R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial53R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5) (R1, R2, R3) { return func(ctx context.Context, t4 T4, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1429,8 +1429,8 @@ func Partial53R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial54R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5) (R1, R2, R3) { return func(ctx context.Context, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1438,8 +1438,8 @@ func Partial54R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial55R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1447,8 +1447,8 @@ func Partial55R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func Partial5R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, ) func(T2, T3, T4, T5) (R1, R2, R3, R4) { return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -1456,8 +1456,8 @@ func Partial5R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial52R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(T3, T4, T5) (R1, R2, R3, R4) { return func(t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -1465,8 +1465,8 @@ func Partial52R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial53R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(T4, T5) (R1, R2, R3, R4) { return func(t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -1474,8 +1474,8 @@ func Partial53R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial54R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5) (R1, R2, R3, R4) { return func(t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -1483,8 +1483,8 @@ func Partial54R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial55R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -1492,8 +1492,8 @@ func Partial55R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial5R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1501,8 +1501,8 @@ func Partial5R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial52R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1510,8 +1510,8 @@ func Partial52R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial53R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1519,8 +1519,8 @@ func Partial53R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial54R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1528,8 +1528,8 @@ func Partial54R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial55R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1537,8 +1537,8 @@ func Partial55R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func Partial5R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -1546,8 +1546,8 @@ func Partial5R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial52R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(T3, T4, T5) (R1, R2, R3, R4, R5) { return func(t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -1555,8 +1555,8 @@ func Partial52R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial53R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(T4, T5) (R1, R2, R3, R4, R5) { return func(t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -1564,8 +1564,8 @@ func Partial53R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial54R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5) (R1, R2, R3, R4, R5) { return func(t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -1573,8 +1573,8 @@ func Partial54R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial55R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -1582,8 +1582,8 @@ func Partial55R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial5R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1591,8 +1591,8 @@ func Partial5R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial52R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1600,8 +1600,8 @@ func Partial52R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial53R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1609,8 +1609,8 @@ func Partial53R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial54R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1618,8 +1618,8 @@ func Partial54R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial55R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -1627,8 +1627,8 @@ func Partial55R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func Partial6Void[T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6), + t1 T1, ) func(T2, T3, T4, T5, T6) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(t1, t2, t3, t4, t5, t6) @@ -1636,8 +1636,8 @@ func Partial6Void[T1, T2, T3, T4, T5, T6 any]( } func Partial62Void[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, ) func(T3, T4, T5, T6) { return func(t3 T3, t4 T4, t5 T5, t6 T6) { fn(t1, t2, t3, t4, t5, t6) @@ -1645,8 +1645,8 @@ func Partial62Void[T1, T2, T3, T4, T5, T6 any]( } func Partial63Void[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6) { return func(t4 T4, t5 T5, t6 T6) { fn(t1, t2, t3, t4, t5, t6) @@ -1654,8 +1654,8 @@ func Partial63Void[T1, T2, T3, T4, T5, T6 any]( } func Partial64Void[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6) { return func(t5 T5, t6 T6) { fn(t1, t2, t3, t4, t5, t6) @@ -1663,8 +1663,8 @@ func Partial64Void[T1, T2, T3, T4, T5, T6 any]( } func Partial65Void[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6) { return func(t6 T6) { fn(t1, t2, t3, t4, t5, t6) @@ -1672,8 +1672,8 @@ func Partial65Void[T1, T2, T3, T4, T5, T6 any]( } func Partial66Void[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6) @@ -1681,8 +1681,8 @@ func Partial66Void[T1, T2, T3, T4, T5, T6 any]( } func Partial6VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1690,8 +1690,8 @@ func Partial6VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func Partial62VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1699,8 +1699,8 @@ func Partial62VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func Partial63VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1708,8 +1708,8 @@ func Partial63VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func Partial64VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6) { return func(ctx context.Context, t5 T5, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1717,8 +1717,8 @@ func Partial64VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func Partial65VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6) { return func(ctx context.Context, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1726,8 +1726,8 @@ func Partial65VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func Partial66VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1735,8 +1735,8 @@ func Partial66VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func Partial6[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6) R1, + t1 T1, ) func(T2, T3, T4, T5, T6) R1 { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -1744,8 +1744,8 @@ func Partial6[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial62[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, ) func(T3, T4, T5, T6) R1 { return func(t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -1753,8 +1753,8 @@ func Partial62[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial63[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6) R1 { return func(t4 T4, t5 T5, t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -1762,8 +1762,8 @@ func Partial63[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial64[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6) R1 { return func(t5 T5, t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -1771,8 +1771,8 @@ func Partial64[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial65[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6) R1 { return func(t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -1780,8 +1780,8 @@ func Partial65[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial66[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -1789,8 +1789,8 @@ func Partial66[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial6Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6) R1 { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1798,8 +1798,8 @@ func Partial6Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial62Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6) R1 { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1807,8 +1807,8 @@ func Partial62Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial63Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6) R1 { return func(ctx context.Context, t4 T4, t5 T5, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1816,8 +1816,8 @@ func Partial63Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial64Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6) R1 { return func(ctx context.Context, t5 T5, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1825,8 +1825,8 @@ func Partial64Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial65Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6) R1 { return func(ctx context.Context, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1834,8 +1834,8 @@ func Partial65Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial66Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1843,8 +1843,8 @@ func Partial66Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func Partial6R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, ) func(T2, T3, T4, T5, T6) (R1, R2) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -1852,8 +1852,8 @@ func Partial6R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial62R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, ) func(T3, T4, T5, T6) (R1, R2) { return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -1861,8 +1861,8 @@ func Partial62R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial63R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6) (R1, R2) { return func(t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -1870,8 +1870,8 @@ func Partial63R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial64R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6) (R1, R2) { return func(t5 T5, t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -1879,8 +1879,8 @@ func Partial64R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial65R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6) (R1, R2) { return func(t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -1888,8 +1888,8 @@ func Partial65R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial66R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -1897,8 +1897,8 @@ func Partial66R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial6R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6) (R1, R2) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1906,8 +1906,8 @@ func Partial6R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial62R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6) (R1, R2) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1915,8 +1915,8 @@ func Partial62R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial63R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6) (R1, R2) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1924,8 +1924,8 @@ func Partial63R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial64R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6) (R1, R2) { return func(ctx context.Context, t5 T5, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1933,8 +1933,8 @@ func Partial64R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial65R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6) (R1, R2) { return func(ctx context.Context, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1942,8 +1942,8 @@ func Partial65R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial66R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -1951,8 +1951,8 @@ func Partial66R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func Partial6R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, ) func(T2, T3, T4, T5, T6) (R1, R2, R3) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -1960,8 +1960,8 @@ func Partial6R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial62R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, ) func(T3, T4, T5, T6) (R1, R2, R3) { return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -1969,8 +1969,8 @@ func Partial62R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial63R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6) (R1, R2, R3) { return func(t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -1978,8 +1978,8 @@ func Partial63R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial64R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6) (R1, R2, R3) { return func(t5 T5, t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -1987,8 +1987,8 @@ func Partial64R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial65R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6) (R1, R2, R3) { return func(t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -1996,8 +1996,8 @@ func Partial65R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial66R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -2005,8 +2005,8 @@ func Partial66R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial6R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6) (R1, R2, R3) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2014,8 +2014,8 @@ func Partial6R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial62R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6) (R1, R2, R3) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2023,8 +2023,8 @@ func Partial62R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial63R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6) (R1, R2, R3) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2032,8 +2032,8 @@ func Partial63R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial64R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6) (R1, R2, R3) { return func(ctx context.Context, t5 T5, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2041,8 +2041,8 @@ func Partial64R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial65R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6) (R1, R2, R3) { return func(ctx context.Context, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2050,8 +2050,8 @@ func Partial65R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial66R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2059,8 +2059,8 @@ func Partial66R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func Partial6R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, ) func(T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -2068,8 +2068,8 @@ func Partial6R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial62R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(T3, T4, T5, T6) (R1, R2, R3, R4) { return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -2077,8 +2077,8 @@ func Partial62R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial63R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6) (R1, R2, R3, R4) { return func(t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -2086,8 +2086,8 @@ func Partial63R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial64R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6) (R1, R2, R3, R4) { return func(t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -2095,8 +2095,8 @@ func Partial64R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial65R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6) (R1, R2, R3, R4) { return func(t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -2104,8 +2104,8 @@ func Partial65R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial66R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -2113,8 +2113,8 @@ func Partial66R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial6R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2122,8 +2122,8 @@ func Partial6R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial62R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2131,8 +2131,8 @@ func Partial62R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial63R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2140,8 +2140,8 @@ func Partial63R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial64R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2149,8 +2149,8 @@ func Partial64R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial65R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2158,8 +2158,8 @@ func Partial65R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial66R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2167,8 +2167,8 @@ func Partial66R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func Partial6R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -2176,8 +2176,8 @@ func Partial6R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial62R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -2185,8 +2185,8 @@ func Partial62R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial63R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6) (R1, R2, R3, R4, R5) { return func(t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -2194,8 +2194,8 @@ func Partial63R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial64R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6) (R1, R2, R3, R4, R5) { return func(t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -2203,8 +2203,8 @@ func Partial64R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial65R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6) (R1, R2, R3, R4, R5) { return func(t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -2212,8 +2212,8 @@ func Partial65R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial66R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -2221,8 +2221,8 @@ func Partial66R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial6R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2230,8 +2230,8 @@ func Partial6R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial62R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2239,8 +2239,8 @@ func Partial62R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial63R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2248,8 +2248,8 @@ func Partial63R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial64R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2257,8 +2257,8 @@ func Partial64R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial65R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2266,8 +2266,8 @@ func Partial65R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial66R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -2275,8 +2275,8 @@ func Partial66R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func Partial7Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, ) func(T2, T3, T4, T5, T6, T7) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -2284,8 +2284,8 @@ func Partial7Void[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -2293,8 +2293,8 @@ func Partial72Void[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7) { return func(t4 T4, t5 T5, t6 T6, t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -2302,8 +2302,8 @@ func Partial73Void[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7) { return func(t5 T5, t6 T6, t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -2311,8 +2311,8 @@ func Partial74Void[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7) { return func(t6 T6, t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -2320,8 +2320,8 @@ func Partial75Void[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7) { return func(t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -2329,8 +2329,8 @@ func Partial76Void[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6, t7) @@ -2338,8 +2338,8 @@ func Partial77Void[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2347,8 +2347,8 @@ func Partial7VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2356,8 +2356,8 @@ func Partial72VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2365,8 +2365,8 @@ func Partial73VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2374,8 +2374,8 @@ func Partial74VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7) { return func(ctx context.Context, t6 T6, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2383,8 +2383,8 @@ func Partial75VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7) { return func(ctx context.Context, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2392,8 +2392,8 @@ func Partial76VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2401,8 +2401,8 @@ func Partial77VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, ) func(T2, T3, T4, T5, T6, T7) R1 { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2410,8 +2410,8 @@ func Partial7[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7) R1 { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2419,8 +2419,8 @@ func Partial72[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7) R1 { return func(t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2428,8 +2428,8 @@ func Partial73[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7) R1 { return func(t5 T5, t6 T6, t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2437,8 +2437,8 @@ func Partial74[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7) R1 { return func(t6 T6, t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2446,8 +2446,8 @@ func Partial75[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7) R1 { return func(t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2455,8 +2455,8 @@ func Partial76[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2464,8 +2464,8 @@ func Partial77[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7) R1 { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2473,8 +2473,8 @@ func Partial7Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7) R1 { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2482,8 +2482,8 @@ func Partial72Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7) R1 { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2491,8 +2491,8 @@ func Partial73Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7) R1 { return func(ctx context.Context, t5 T5, t6 T6, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2500,8 +2500,8 @@ func Partial74Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7) R1 { return func(ctx context.Context, t6 T6, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2509,8 +2509,8 @@ func Partial75Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7) R1 { return func(ctx context.Context, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2518,8 +2518,8 @@ func Partial76Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2527,8 +2527,8 @@ func Partial77Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, ) func(T2, T3, T4, T5, T6, T7) (R1, R2) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2536,8 +2536,8 @@ func Partial7R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7) (R1, R2) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2545,8 +2545,8 @@ func Partial72R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7) (R1, R2) { return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2554,8 +2554,8 @@ func Partial73R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7) (R1, R2) { return func(t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2563,8 +2563,8 @@ func Partial74R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7) (R1, R2) { return func(t6 T6, t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2572,8 +2572,8 @@ func Partial75R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7) (R1, R2) { return func(t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2581,8 +2581,8 @@ func Partial76R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2590,8 +2590,8 @@ func Partial77R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2599,8 +2599,8 @@ func Partial7R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7) (R1, R2) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2608,8 +2608,8 @@ func Partial72R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7) (R1, R2) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2617,8 +2617,8 @@ func Partial73R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7) (R1, R2) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2626,8 +2626,8 @@ func Partial74R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7) (R1, R2) { return func(ctx context.Context, t6 T6, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2635,8 +2635,8 @@ func Partial75R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7) (R1, R2) { return func(ctx context.Context, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2644,8 +2644,8 @@ func Partial76R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2653,8 +2653,8 @@ func Partial77R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, ) func(T2, T3, T4, T5, T6, T7) (R1, R2, R3) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2662,8 +2662,8 @@ func Partial7R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7) (R1, R2, R3) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2671,8 +2671,8 @@ func Partial72R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7) (R1, R2, R3) { return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2680,8 +2680,8 @@ func Partial73R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7) (R1, R2, R3) { return func(t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2689,8 +2689,8 @@ func Partial74R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7) (R1, R2, R3) { return func(t6 T6, t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2698,8 +2698,8 @@ func Partial75R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7) (R1, R2, R3) { return func(t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2707,8 +2707,8 @@ func Partial76R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2716,8 +2716,8 @@ func Partial77R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2725,8 +2725,8 @@ func Partial7R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7) (R1, R2, R3) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2734,8 +2734,8 @@ func Partial72R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7) (R1, R2, R3) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2743,8 +2743,8 @@ func Partial73R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7) (R1, R2, R3) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2752,8 +2752,8 @@ func Partial74R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7) (R1, R2, R3) { return func(ctx context.Context, t6 T6, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2761,8 +2761,8 @@ func Partial75R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7) (R1, R2, R3) { return func(ctx context.Context, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2770,8 +2770,8 @@ func Partial76R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2779,8 +2779,8 @@ func Partial77R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, ) func(T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2788,8 +2788,8 @@ func Partial7R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2797,8 +2797,8 @@ func Partial72R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7) (R1, R2, R3, R4) { return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2806,8 +2806,8 @@ func Partial73R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7) (R1, R2, R3, R4) { return func(t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2815,8 +2815,8 @@ func Partial74R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7) (R1, R2, R3, R4) { return func(t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2824,8 +2824,8 @@ func Partial75R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7) (R1, R2, R3, R4) { return func(t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2833,8 +2833,8 @@ func Partial76R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2842,8 +2842,8 @@ func Partial77R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2851,8 +2851,8 @@ func Partial7R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2860,8 +2860,8 @@ func Partial72R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2869,8 +2869,8 @@ func Partial73R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2878,8 +2878,8 @@ func Partial74R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2887,8 +2887,8 @@ func Partial75R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2896,8 +2896,8 @@ func Partial76R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2905,8 +2905,8 @@ func Partial77R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2914,8 +2914,8 @@ func Partial7R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2923,8 +2923,8 @@ func Partial72R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2932,8 +2932,8 @@ func Partial73R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7) (R1, R2, R3, R4, R5) { return func(t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2941,8 +2941,8 @@ func Partial74R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7) (R1, R2, R3, R4, R5) { return func(t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2950,8 +2950,8 @@ func Partial75R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7) (R1, R2, R3, R4, R5) { return func(t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2959,8 +2959,8 @@ func Partial76R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -2968,8 +2968,8 @@ func Partial77R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial7R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2977,8 +2977,8 @@ func Partial7R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial72R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2986,8 +2986,8 @@ func Partial72R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial73R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -2995,8 +2995,8 @@ func Partial73R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial74R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -3004,8 +3004,8 @@ func Partial74R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial75R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -3013,8 +3013,8 @@ func Partial75R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial76R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -3022,8 +3022,8 @@ func Partial76R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial77R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -3031,8 +3031,8 @@ func Partial77R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func Partial8Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3040,8 +3040,8 @@ func Partial8Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3049,8 +3049,8 @@ func Partial82Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3058,8 +3058,8 @@ func Partial83Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8) { return func(t5 T5, t6 T6, t7 T7, t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3067,8 +3067,8 @@ func Partial84Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8) { return func(t6 T6, t7 T7, t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3076,8 +3076,8 @@ func Partial85Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8) { return func(t7 T7, t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3085,8 +3085,8 @@ func Partial86Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8) { return func(t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3094,8 +3094,8 @@ func Partial87Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3103,8 +3103,8 @@ func Partial88Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3112,8 +3112,8 @@ func Partial8VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3121,8 +3121,8 @@ func Partial82VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3130,8 +3130,8 @@ func Partial83VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3139,8 +3139,8 @@ func Partial84VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3148,8 +3148,8 @@ func Partial85VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8) { return func(ctx context.Context, t7 T7, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3157,8 +3157,8 @@ func Partial86VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8) { return func(ctx context.Context, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3166,8 +3166,8 @@ func Partial87VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3175,8 +3175,8 @@ func Partial88VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8) R1 { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3184,8 +3184,8 @@ func Partial8[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8) R1 { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3193,8 +3193,8 @@ func Partial82[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8) R1 { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3202,8 +3202,8 @@ func Partial83[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8) R1 { return func(t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3211,8 +3211,8 @@ func Partial84[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8) R1 { return func(t6 T6, t7 T7, t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3220,8 +3220,8 @@ func Partial85[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8) R1 { return func(t7 T7, t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3229,8 +3229,8 @@ func Partial86[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8) R1 { return func(t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3238,8 +3238,8 @@ func Partial87[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3247,8 +3247,8 @@ func Partial88[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8) R1 { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3256,8 +3256,8 @@ func Partial8Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8) R1 { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3265,8 +3265,8 @@ func Partial82Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8) R1 { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3274,8 +3274,8 @@ func Partial83Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8) R1 { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3283,8 +3283,8 @@ func Partial84Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8) R1 { return func(ctx context.Context, t6 T6, t7 T7, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3292,8 +3292,8 @@ func Partial85Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8) R1 { return func(ctx context.Context, t7 T7, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3301,8 +3301,8 @@ func Partial86Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8) R1 { return func(ctx context.Context, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3310,8 +3310,8 @@ func Partial87Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3319,8 +3319,8 @@ func Partial88Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3328,8 +3328,8 @@ func Partial8R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8) (R1, R2) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3337,8 +3337,8 @@ func Partial82R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8) (R1, R2) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3346,8 +3346,8 @@ func Partial83R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8) (R1, R2) { return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3355,8 +3355,8 @@ func Partial84R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8) (R1, R2) { return func(t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3364,8 +3364,8 @@ func Partial85R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8) (R1, R2) { return func(t7 T7, t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3373,8 +3373,8 @@ func Partial86R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8) (R1, R2) { return func(t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3382,8 +3382,8 @@ func Partial87R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3391,8 +3391,8 @@ func Partial88R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3400,8 +3400,8 @@ func Partial8R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3409,8 +3409,8 @@ func Partial82R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8) (R1, R2) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3418,8 +3418,8 @@ func Partial83R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8) (R1, R2) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3427,8 +3427,8 @@ func Partial84R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8) (R1, R2) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3436,8 +3436,8 @@ func Partial85R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8) (R1, R2) { return func(ctx context.Context, t7 T7, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3445,8 +3445,8 @@ func Partial86R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8) (R1, R2) { return func(ctx context.Context, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3454,8 +3454,8 @@ func Partial87R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3463,8 +3463,8 @@ func Partial88R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3472,8 +3472,8 @@ func Partial8R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8) (R1, R2, R3) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3481,8 +3481,8 @@ func Partial82R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8) (R1, R2, R3) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3490,8 +3490,8 @@ func Partial83R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8) (R1, R2, R3) { return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3499,8 +3499,8 @@ func Partial84R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8) (R1, R2, R3) { return func(t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3508,8 +3508,8 @@ func Partial85R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8) (R1, R2, R3) { return func(t7 T7, t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3517,8 +3517,8 @@ func Partial86R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8) (R1, R2, R3) { return func(t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3526,8 +3526,8 @@ func Partial87R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3535,8 +3535,8 @@ func Partial88R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3544,8 +3544,8 @@ func Partial8R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3553,8 +3553,8 @@ func Partial82R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8) (R1, R2, R3) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3562,8 +3562,8 @@ func Partial83R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8) (R1, R2, R3) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3571,8 +3571,8 @@ func Partial84R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8) (R1, R2, R3) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3580,8 +3580,8 @@ func Partial85R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8) (R1, R2, R3) { return func(ctx context.Context, t7 T7, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3589,8 +3589,8 @@ func Partial86R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8) (R1, R2, R3) { return func(ctx context.Context, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3598,8 +3598,8 @@ func Partial87R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3607,8 +3607,8 @@ func Partial88R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3616,8 +3616,8 @@ func Partial8R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3625,8 +3625,8 @@ func Partial82R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3634,8 +3634,8 @@ func Partial83R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8) (R1, R2, R3, R4) { return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3643,8 +3643,8 @@ func Partial84R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8) (R1, R2, R3, R4) { return func(t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3652,8 +3652,8 @@ func Partial85R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8) (R1, R2, R3, R4) { return func(t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3661,8 +3661,8 @@ func Partial86R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8) (R1, R2, R3, R4) { return func(t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3670,8 +3670,8 @@ func Partial87R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3679,8 +3679,8 @@ func Partial88R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3688,8 +3688,8 @@ func Partial8R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3697,8 +3697,8 @@ func Partial82R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3706,8 +3706,8 @@ func Partial83R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3715,8 +3715,8 @@ func Partial84R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3724,8 +3724,8 @@ func Partial85R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3733,8 +3733,8 @@ func Partial86R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3742,8 +3742,8 @@ func Partial87R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3751,8 +3751,8 @@ func Partial88R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3760,8 +3760,8 @@ func Partial8R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3769,8 +3769,8 @@ func Partial82R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3778,8 +3778,8 @@ func Partial83R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3787,8 +3787,8 @@ func Partial84R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8) (R1, R2, R3, R4, R5) { return func(t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3796,8 +3796,8 @@ func Partial85R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8) (R1, R2, R3, R4, R5) { return func(t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3805,8 +3805,8 @@ func Partial86R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8) (R1, R2, R3, R4, R5) { return func(t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3814,8 +3814,8 @@ func Partial87R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -3823,8 +3823,8 @@ func Partial88R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial8R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3832,8 +3832,8 @@ func Partial8R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial82R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3841,8 +3841,8 @@ func Partial82R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial83R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3850,8 +3850,8 @@ func Partial83R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial84R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3859,8 +3859,8 @@ func Partial84R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial85R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3868,8 +3868,8 @@ func Partial85R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial86R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3877,8 +3877,8 @@ func Partial86R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial87R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3886,8 +3886,8 @@ func Partial87R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial88R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -3895,8 +3895,8 @@ func Partial88R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func Partial9Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8, T9) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3904,8 +3904,8 @@ func Partial9Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8, T9) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3913,8 +3913,8 @@ func Partial92Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8, T9) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3922,8 +3922,8 @@ func Partial93Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8, T9) { return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3931,8 +3931,8 @@ func Partial94Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8, T9) { return func(t6 T6, t7 T7, t8 T8, t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3940,8 +3940,8 @@ func Partial95Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8, T9) { return func(t7 T7, t8 T8, t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3949,8 +3949,8 @@ func Partial96Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8, T9) { return func(t8 T8, t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3958,8 +3958,8 @@ func Partial97Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T9) { return func(t9 T9) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3967,8 +3967,8 @@ func Partial98Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3976,8 +3976,8 @@ func Partial99Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3985,8 +3985,8 @@ func Partial9VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8, T9) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -3994,8 +3994,8 @@ func Partial92VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8, T9) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4003,8 +4003,8 @@ func Partial93VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8, T9) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4012,8 +4012,8 @@ func Partial94VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8, T9) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4021,8 +4021,8 @@ func Partial95VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8, T9) { return func(ctx context.Context, t7 T7, t8 T8, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4030,8 +4030,8 @@ func Partial96VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8, T9) { return func(ctx context.Context, t8 T8, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4039,8 +4039,8 @@ func Partial97VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T9) { return func(ctx context.Context, t9 T9) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4048,8 +4048,8 @@ func Partial98VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4057,8 +4057,8 @@ func Partial99VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8, T9) R1 { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4066,8 +4066,8 @@ func Partial9[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8, T9) R1 { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4075,8 +4075,8 @@ func Partial92[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8, T9) R1 { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4084,8 +4084,8 @@ func Partial93[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8, T9) R1 { return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4093,8 +4093,8 @@ func Partial94[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8, T9) R1 { return func(t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4102,8 +4102,8 @@ func Partial95[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8, T9) R1 { return func(t7 T7, t8 T8, t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4111,8 +4111,8 @@ func Partial96[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8, T9) R1 { return func(t8 T8, t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4120,8 +4120,8 @@ func Partial97[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T9) R1 { return func(t9 T9) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4129,8 +4129,8 @@ func Partial98[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4138,8 +4138,8 @@ func Partial99[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) R1 { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4147,8 +4147,8 @@ func Partial9Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8, T9) R1 { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4156,8 +4156,8 @@ func Partial92Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8, T9) R1 { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4165,8 +4165,8 @@ func Partial93Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8, T9) R1 { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4174,8 +4174,8 @@ func Partial94Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8, T9) R1 { return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4183,8 +4183,8 @@ func Partial95Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8, T9) R1 { return func(ctx context.Context, t7 T7, t8 T8, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4192,8 +4192,8 @@ func Partial96Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8, T9) R1 { return func(ctx context.Context, t8 T8, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4201,8 +4201,8 @@ func Partial97Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T9) R1 { return func(ctx context.Context, t9 T9) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4210,8 +4210,8 @@ func Partial98Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4219,8 +4219,8 @@ func Partial99Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4228,8 +4228,8 @@ func Partial9R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4237,8 +4237,8 @@ func Partial92R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8, T9) (R1, R2) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4246,8 +4246,8 @@ func Partial93R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8, T9) (R1, R2) { return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4255,8 +4255,8 @@ func Partial94R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8, T9) (R1, R2) { return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4264,8 +4264,8 @@ func Partial95R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8, T9) (R1, R2) { return func(t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4273,8 +4273,8 @@ func Partial96R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8, T9) (R1, R2) { return func(t8 T8, t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4282,8 +4282,8 @@ func Partial97R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T9) (R1, R2) { return func(t9 T9) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4291,8 +4291,8 @@ func Partial98R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4300,8 +4300,8 @@ func Partial99R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4309,8 +4309,8 @@ func Partial9R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4318,8 +4318,8 @@ func Partial92R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4327,8 +4327,8 @@ func Partial93R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8, T9) (R1, R2) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4336,8 +4336,8 @@ func Partial94R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8, T9) (R1, R2) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4345,8 +4345,8 @@ func Partial95R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8, T9) (R1, R2) { return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4354,8 +4354,8 @@ func Partial96R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8, T9) (R1, R2) { return func(ctx context.Context, t8 T8, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4363,8 +4363,8 @@ func Partial97R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T9) (R1, R2) { return func(ctx context.Context, t9 T9) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4372,8 +4372,8 @@ func Partial98R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4381,8 +4381,8 @@ func Partial99R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4390,8 +4390,8 @@ func Partial9R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4399,8 +4399,8 @@ func Partial92R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8, T9) (R1, R2, R3) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4408,8 +4408,8 @@ func Partial93R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8, T9) (R1, R2, R3) { return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4417,8 +4417,8 @@ func Partial94R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8, T9) (R1, R2, R3) { return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4426,8 +4426,8 @@ func Partial95R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8, T9) (R1, R2, R3) { return func(t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4435,8 +4435,8 @@ func Partial96R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8, T9) (R1, R2, R3) { return func(t8 T8, t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4444,8 +4444,8 @@ func Partial97R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T9) (R1, R2, R3) { return func(t9 T9) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4453,8 +4453,8 @@ func Partial98R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4462,8 +4462,8 @@ func Partial99R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4471,8 +4471,8 @@ func Partial9R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4480,8 +4480,8 @@ func Partial92R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2, R3) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4489,8 +4489,8 @@ func Partial93R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8, T9) (R1, R2, R3) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4498,8 +4498,8 @@ func Partial94R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8, T9) (R1, R2, R3) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4507,8 +4507,8 @@ func Partial95R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8, T9) (R1, R2, R3) { return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4516,8 +4516,8 @@ func Partial96R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8, T9) (R1, R2, R3) { return func(ctx context.Context, t8 T8, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4525,8 +4525,8 @@ func Partial97R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T9) (R1, R2, R3) { return func(ctx context.Context, t9 T9) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4534,8 +4534,8 @@ func Partial98R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4543,8 +4543,8 @@ func Partial99R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4552,8 +4552,8 @@ func Partial9R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4561,8 +4561,8 @@ func Partial92R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4570,8 +4570,8 @@ func Partial93R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4579,8 +4579,8 @@ func Partial94R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8, T9) (R1, R2, R3, R4) { return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4588,8 +4588,8 @@ func Partial95R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8, T9) (R1, R2, R3, R4) { return func(t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4597,8 +4597,8 @@ func Partial96R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8, T9) (R1, R2, R3, R4) { return func(t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4606,8 +4606,8 @@ func Partial97R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T9) (R1, R2, R3, R4) { return func(t9 T9) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4615,8 +4615,8 @@ func Partial98R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4624,8 +4624,8 @@ func Partial99R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4633,8 +4633,8 @@ func Partial9R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4642,8 +4642,8 @@ func Partial92R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4651,8 +4651,8 @@ func Partial93R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4660,8 +4660,8 @@ func Partial94R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4669,8 +4669,8 @@ func Partial95R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4678,8 +4678,8 @@ func Partial96R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t8 T8, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4687,8 +4687,8 @@ func Partial97R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T9) (R1, R2, R3, R4) { return func(ctx context.Context, t9 T9) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4696,8 +4696,8 @@ func Partial98R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4705,8 +4705,8 @@ func Partial99R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, ) func(T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4714,8 +4714,8 @@ func Partial9R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4723,8 +4723,8 @@ func Partial92R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4732,8 +4732,8 @@ func Partial93R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4741,8 +4741,8 @@ func Partial94R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4750,8 +4750,8 @@ func Partial95R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T7, T8, T9) (R1, R2, R3, R4, R5) { return func(t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4759,8 +4759,8 @@ func Partial96R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T8, T9) (R1, R2, R3, R4, R5) { return func(t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4768,8 +4768,8 @@ func Partial97R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T9) (R1, R2, R3, R4, R5) { return func(t9 T9) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4777,8 +4777,8 @@ func Partial98R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4786,8 +4786,8 @@ func Partial99R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial9R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, ) func(context.Context, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4795,8 +4795,8 @@ func Partial9R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial92R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4804,8 +4804,8 @@ func Partial92R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial93R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4813,8 +4813,8 @@ func Partial93R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial94R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4822,8 +4822,8 @@ func Partial94R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial95R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T6, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t6 T6, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4831,8 +4831,8 @@ func Partial95R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial96R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T7, T8, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t7 T7, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4840,8 +4840,8 @@ func Partial96R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial97R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T8, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t8 T8, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4849,8 +4849,8 @@ func Partial97R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial98R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T9) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t9 T9) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4858,8 +4858,8 @@ func Partial98R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func Partial99R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -4867,8 +4867,8 @@ func Partial99R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial2Void[T1, T2 any]( - t2 T2, fn func(T1, T2), + t2 T2, ) func(T1) { return func(t1 T1) { fn(t1, t2) @@ -4876,8 +4876,8 @@ func RPartial2Void[T1, T2 any]( } func RPartial22Void[T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2), + t1 T1, t2 T2, ) func() { return func() { fn(t1, t2) @@ -4885,8 +4885,8 @@ func RPartial22Void[T1, T2 any]( } func RPartial2VoidCtx[T1, T2 any]( - t2 T2, fn func(context.Context, T1, T2), + t2 T2, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2) @@ -4894,8 +4894,8 @@ func RPartial2VoidCtx[T1, T2 any]( } func RPartial22VoidCtx[T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2), + t1 T1, t2 T2, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2) @@ -4903,8 +4903,8 @@ func RPartial22VoidCtx[T1, T2 any]( } func RPartial2[R1, T1, T2 any]( - t2 T2, fn func(T1, T2) R1, + t2 T2, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2) @@ -4912,8 +4912,8 @@ func RPartial2[R1, T1, T2 any]( } func RPartial22[R1, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) R1, + t1 T1, t2 T2, ) func() R1 { return func() R1 { return fn(t1, t2) @@ -4921,8 +4921,8 @@ func RPartial22[R1, T1, T2 any]( } func RPartial2Ctx[R1, T1, T2 any]( - t2 T2, fn func(context.Context, T1, T2) R1, + t2 T2, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2) @@ -4930,8 +4930,8 @@ func RPartial2Ctx[R1, T1, T2 any]( } func RPartial22Ctx[R1, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) R1, + t1 T1, t2 T2, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2) @@ -4939,8 +4939,8 @@ func RPartial22Ctx[R1, T1, T2 any]( } func RPartial2R2[R1, R2, T1, T2 any]( - t2 T2, fn func(T1, T2) (R1, R2), + t2 T2, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2) @@ -4948,8 +4948,8 @@ func RPartial2R2[R1, R2, T1, T2 any]( } func RPartial22R2[R1, R2, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2), + t1 T1, t2 T2, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2) @@ -4957,8 +4957,8 @@ func RPartial22R2[R1, R2, T1, T2 any]( } func RPartial2R2Ctx[R1, R2, T1, T2 any]( - t2 T2, fn func(context.Context, T1, T2) (R1, R2), + t2 T2, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2) @@ -4966,8 +4966,8 @@ func RPartial2R2Ctx[R1, R2, T1, T2 any]( } func RPartial22R2Ctx[R1, R2, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2), + t1 T1, t2 T2, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2) @@ -4975,8 +4975,8 @@ func RPartial22R2Ctx[R1, R2, T1, T2 any]( } func RPartial2R3[R1, R2, R3, T1, T2 any]( - t2 T2, fn func(T1, T2) (R1, R2, R3), + t2 T2, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2) @@ -4984,8 +4984,8 @@ func RPartial2R3[R1, R2, R3, T1, T2 any]( } func RPartial22R3[R1, R2, R3, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2, R3), + t1 T1, t2 T2, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2) @@ -4993,8 +4993,8 @@ func RPartial22R3[R1, R2, R3, T1, T2 any]( } func RPartial2R3Ctx[R1, R2, R3, T1, T2 any]( - t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3), + t2 T2, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2) @@ -5002,8 +5002,8 @@ func RPartial2R3Ctx[R1, R2, R3, T1, T2 any]( } func RPartial22R3Ctx[R1, R2, R3, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3), + t1 T1, t2 T2, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2) @@ -5011,8 +5011,8 @@ func RPartial22R3Ctx[R1, R2, R3, T1, T2 any]( } func RPartial2R4[R1, R2, R3, R4, T1, T2 any]( - t2 T2, fn func(T1, T2) (R1, R2, R3, R4), + t2 T2, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2) @@ -5020,8 +5020,8 @@ func RPartial2R4[R1, R2, R3, R4, T1, T2 any]( } func RPartial22R4[R1, R2, R3, R4, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2) @@ -5029,8 +5029,8 @@ func RPartial22R4[R1, R2, R3, R4, T1, T2 any]( } func RPartial2R4Ctx[R1, R2, R3, R4, T1, T2 any]( - t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3, R4), + t2 T2, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2) @@ -5038,8 +5038,8 @@ func RPartial2R4Ctx[R1, R2, R3, R4, T1, T2 any]( } func RPartial22R4Ctx[R1, R2, R3, R4, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3, R4), + t1 T1, t2 T2, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2) @@ -5047,8 +5047,8 @@ func RPartial22R4Ctx[R1, R2, R3, R4, T1, T2 any]( } func RPartial2R5[R1, R2, R3, R4, R5, T1, T2 any]( - t2 T2, fn func(T1, T2) (R1, R2, R3, R4, R5), + t2 T2, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2) @@ -5056,8 +5056,8 @@ func RPartial2R5[R1, R2, R3, R4, R5, T1, T2 any]( } func RPartial22R5[R1, R2, R3, R4, R5, T1, T2 any]( - t1 T1, t2 T2, fn func(T1, T2) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2) @@ -5065,8 +5065,8 @@ func RPartial22R5[R1, R2, R3, R4, R5, T1, T2 any]( } func RPartial2R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( - t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), + t2 T2, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2) @@ -5074,8 +5074,8 @@ func RPartial2R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( } func RPartial22R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( - t1 T1, t2 T2, fn func(context.Context, T1, T2) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2) @@ -5083,8 +5083,8 @@ func RPartial22R5Ctx[R1, R2, R3, R4, R5, T1, T2 any]( } func RPartial3Void[T1, T2, T3 any]( - t3 T3, fn func(T1, T2, T3), + t3 T3, ) func(T1, T2) { return func(t1 T1, t2 T2) { fn(t1, t2, t3) @@ -5092,8 +5092,8 @@ func RPartial3Void[T1, T2, T3 any]( } func RPartial32Void[T1, T2, T3 any]( - t2 T2, t3 T3, fn func(T1, T2, T3), + t2 T2, t3 T3, ) func(T1) { return func(t1 T1) { fn(t1, t2, t3) @@ -5101,8 +5101,8 @@ func RPartial32Void[T1, T2, T3 any]( } func RPartial33Void[T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3), + t1 T1, t2 T2, t3 T3, ) func() { return func() { fn(t1, t2, t3) @@ -5110,8 +5110,8 @@ func RPartial33Void[T1, T2, T3 any]( } func RPartial3VoidCtx[T1, T2, T3 any]( - t3 T3, fn func(context.Context, T1, T2, T3), + t3 T3, ) func(context.Context, T1, T2) { return func(ctx context.Context, t1 T1, t2 T2) { fn(ctx, t1, t2, t3) @@ -5119,8 +5119,8 @@ func RPartial3VoidCtx[T1, T2, T3 any]( } func RPartial32VoidCtx[T1, T2, T3 any]( - t2 T2, t3 T3, fn func(context.Context, T1, T2, T3), + t2 T2, t3 T3, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2, t3) @@ -5128,8 +5128,8 @@ func RPartial32VoidCtx[T1, T2, T3 any]( } func RPartial33VoidCtx[T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3), + t1 T1, t2 T2, t3 T3, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3) @@ -5137,8 +5137,8 @@ func RPartial33VoidCtx[T1, T2, T3 any]( } func RPartial3[R1, T1, T2, T3 any]( - t3 T3, fn func(T1, T2, T3) R1, + t3 T3, ) func(T1, T2) R1 { return func(t1 T1, t2 T2) R1 { return fn(t1, t2, t3) @@ -5146,8 +5146,8 @@ func RPartial3[R1, T1, T2, T3 any]( } func RPartial32[R1, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(T1, T2, T3) R1, + t2 T2, t3 T3, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2, t3) @@ -5155,8 +5155,8 @@ func RPartial32[R1, T1, T2, T3 any]( } func RPartial33[R1, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) R1, + t1 T1, t2 T2, t3 T3, ) func() R1 { return func() R1 { return fn(t1, t2, t3) @@ -5164,8 +5164,8 @@ func RPartial33[R1, T1, T2, T3 any]( } func RPartial3Ctx[R1, T1, T2, T3 any]( - t3 T3, fn func(context.Context, T1, T2, T3) R1, + t3 T3, ) func(context.Context, T1, T2) R1 { return func(ctx context.Context, t1 T1, t2 T2) R1 { return fn(ctx, t1, t2, t3) @@ -5173,8 +5173,8 @@ func RPartial3Ctx[R1, T1, T2, T3 any]( } func RPartial32Ctx[R1, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) R1, + t2 T2, t3 T3, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2, t3) @@ -5182,8 +5182,8 @@ func RPartial32Ctx[R1, T1, T2, T3 any]( } func RPartial33Ctx[R1, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) R1, + t1 T1, t2 T2, t3 T3, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3) @@ -5191,8 +5191,8 @@ func RPartial33Ctx[R1, T1, T2, T3 any]( } func RPartial3R2[R1, R2, T1, T2, T3 any]( - t3 T3, fn func(T1, T2, T3) (R1, R2), + t3 T3, ) func(T1, T2) (R1, R2) { return func(t1 T1, t2 T2) (R1, R2) { return fn(t1, t2, t3) @@ -5200,8 +5200,8 @@ func RPartial3R2[R1, R2, T1, T2, T3 any]( } func RPartial32R2[R1, R2, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2), + t2 T2, t3 T3, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2, t3) @@ -5209,8 +5209,8 @@ func RPartial32R2[R1, R2, T1, T2, T3 any]( } func RPartial33R2[R1, R2, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3) @@ -5218,8 +5218,8 @@ func RPartial33R2[R1, R2, T1, T2, T3 any]( } func RPartial3R2Ctx[R1, R2, T1, T2, T3 any]( - t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2), + t3 T3, ) func(context.Context, T1, T2) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { return fn(ctx, t1, t2, t3) @@ -5227,8 +5227,8 @@ func RPartial3R2Ctx[R1, R2, T1, T2, T3 any]( } func RPartial32R2Ctx[R1, R2, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2), + t2 T2, t3 T3, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2, t3) @@ -5236,8 +5236,8 @@ func RPartial32R2Ctx[R1, R2, T1, T2, T3 any]( } func RPartial33R2Ctx[R1, R2, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3) @@ -5245,8 +5245,8 @@ func RPartial33R2Ctx[R1, R2, T1, T2, T3 any]( } func RPartial3R3[R1, R2, R3, T1, T2, T3 any]( - t3 T3, fn func(T1, T2, T3) (R1, R2, R3), + t3 T3, ) func(T1, T2) (R1, R2, R3) { return func(t1 T1, t2 T2) (R1, R2, R3) { return fn(t1, t2, t3) @@ -5254,8 +5254,8 @@ func RPartial3R3[R1, R2, R3, T1, T2, T3 any]( } func RPartial32R3[R1, R2, R3, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3), + t2 T2, t3 T3, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2, t3) @@ -5263,8 +5263,8 @@ func RPartial32R3[R1, R2, R3, T1, T2, T3 any]( } func RPartial33R3[R1, R2, R3, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3) @@ -5272,8 +5272,8 @@ func RPartial33R3[R1, R2, R3, T1, T2, T3 any]( } func RPartial3R3Ctx[R1, R2, R3, T1, T2, T3 any]( - t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3), + t3 T3, ) func(context.Context, T1, T2) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2, t3) @@ -5281,8 +5281,8 @@ func RPartial3R3Ctx[R1, R2, R3, T1, T2, T3 any]( } func RPartial32R3Ctx[R1, R2, R3, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3), + t2 T2, t3 T3, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2, t3) @@ -5290,8 +5290,8 @@ func RPartial32R3Ctx[R1, R2, R3, T1, T2, T3 any]( } func RPartial33R3Ctx[R1, R2, R3, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3) @@ -5299,8 +5299,8 @@ func RPartial33R3Ctx[R1, R2, R3, T1, T2, T3 any]( } func RPartial3R4[R1, R2, R3, R4, T1, T2, T3 any]( - t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4), + t3 T3, ) func(T1, T2) (R1, R2, R3, R4) { return func(t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(t1, t2, t3) @@ -5308,8 +5308,8 @@ func RPartial3R4[R1, R2, R3, R4, T1, T2, T3 any]( } func RPartial32R4[R1, R2, R3, R4, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4), + t2 T2, t3 T3, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2, t3) @@ -5317,8 +5317,8 @@ func RPartial32R4[R1, R2, R3, R4, T1, T2, T3 any]( } func RPartial33R4[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3) @@ -5326,8 +5326,8 @@ func RPartial33R4[R1, R2, R3, R4, T1, T2, T3 any]( } func RPartial3R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( - t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), + t3 T3, ) func(context.Context, T1, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3) @@ -5335,8 +5335,8 @@ func RPartial3R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( } func RPartial32R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), + t2 T2, t3 T3, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3) @@ -5344,8 +5344,8 @@ func RPartial32R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( } func RPartial33R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3) @@ -5353,8 +5353,8 @@ func RPartial33R4Ctx[R1, R2, R3, R4, T1, T2, T3 any]( } func RPartial3R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4, R5), + t3 T3, ) func(T1, T2) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3) @@ -5362,8 +5362,8 @@ func RPartial3R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func RPartial32R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3) @@ -5371,8 +5371,8 @@ func RPartial32R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func RPartial33R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3) @@ -5380,8 +5380,8 @@ func RPartial33R5[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func RPartial3R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), + t3 T3, ) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3) @@ -5389,8 +5389,8 @@ func RPartial3R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func RPartial32R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3) @@ -5398,8 +5398,8 @@ func RPartial32R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func RPartial33R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( - t1 T1, t2 T2, t3 T3, fn func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3) @@ -5407,8 +5407,8 @@ func RPartial33R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3 any]( } func RPartial4Void[T1, T2, T3, T4 any]( - t4 T4, fn func(T1, T2, T3, T4), + t4 T4, ) func(T1, T2, T3) { return func(t1 T1, t2 T2, t3 T3) { fn(t1, t2, t3, t4) @@ -5416,8 +5416,8 @@ func RPartial4Void[T1, T2, T3, T4 any]( } func RPartial42Void[T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(T1, T2, T3, T4), + t3 T3, t4 T4, ) func(T1, T2) { return func(t1 T1, t2 T2) { fn(t1, t2, t3, t4) @@ -5425,8 +5425,8 @@ func RPartial42Void[T1, T2, T3, T4 any]( } func RPartial43Void[T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4), + t2 T2, t3 T3, t4 T4, ) func(T1) { return func(t1 T1) { fn(t1, t2, t3, t4) @@ -5434,8 +5434,8 @@ func RPartial43Void[T1, T2, T3, T4 any]( } func RPartial44Void[T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() { return func() { fn(t1, t2, t3, t4) @@ -5443,8 +5443,8 @@ func RPartial44Void[T1, T2, T3, T4 any]( } func RPartial4VoidCtx[T1, T2, T3, T4 any]( - t4 T4, fn func(context.Context, T1, T2, T3, T4), + t4 T4, ) func(context.Context, T1, T2, T3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { fn(ctx, t1, t2, t3, t4) @@ -5452,8 +5452,8 @@ func RPartial4VoidCtx[T1, T2, T3, T4 any]( } func RPartial42VoidCtx[T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4), + t3 T3, t4 T4, ) func(context.Context, T1, T2) { return func(ctx context.Context, t1 T1, t2 T2) { fn(ctx, t1, t2, t3, t4) @@ -5461,8 +5461,8 @@ func RPartial42VoidCtx[T1, T2, T3, T4 any]( } func RPartial43VoidCtx[T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4), + t2 T2, t3 T3, t4 T4, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2, t3, t4) @@ -5470,8 +5470,8 @@ func RPartial43VoidCtx[T1, T2, T3, T4 any]( } func RPartial44VoidCtx[T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4) @@ -5479,8 +5479,8 @@ func RPartial44VoidCtx[T1, T2, T3, T4 any]( } func RPartial4[R1, T1, T2, T3, T4 any]( - t4 T4, fn func(T1, T2, T3, T4) R1, + t4 T4, ) func(T1, T2, T3) R1 { return func(t1 T1, t2 T2, t3 T3) R1 { return fn(t1, t2, t3, t4) @@ -5488,8 +5488,8 @@ func RPartial4[R1, T1, T2, T3, T4 any]( } func RPartial42[R1, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(T1, T2, T3, T4) R1, + t3 T3, t4 T4, ) func(T1, T2) R1 { return func(t1 T1, t2 T2) R1 { return fn(t1, t2, t3, t4) @@ -5497,8 +5497,8 @@ func RPartial42[R1, T1, T2, T3, T4 any]( } func RPartial43[R1, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) R1, + t2 T2, t3 T3, t4 T4, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2, t3, t4) @@ -5506,8 +5506,8 @@ func RPartial43[R1, T1, T2, T3, T4 any]( } func RPartial44[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4) @@ -5515,8 +5515,8 @@ func RPartial44[R1, T1, T2, T3, T4 any]( } func RPartial4Ctx[R1, T1, T2, T3, T4 any]( - t4 T4, fn func(context.Context, T1, T2, T3, T4) R1, + t4 T4, ) func(context.Context, T1, T2, T3) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { return fn(ctx, t1, t2, t3, t4) @@ -5524,8 +5524,8 @@ func RPartial4Ctx[R1, T1, T2, T3, T4 any]( } func RPartial42Ctx[R1, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) R1, + t3 T3, t4 T4, ) func(context.Context, T1, T2) R1 { return func(ctx context.Context, t1 T1, t2 T2) R1 { return fn(ctx, t1, t2, t3, t4) @@ -5533,8 +5533,8 @@ func RPartial42Ctx[R1, T1, T2, T3, T4 any]( } func RPartial43Ctx[R1, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) R1, + t2 T2, t3 T3, t4 T4, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2, t3, t4) @@ -5542,8 +5542,8 @@ func RPartial43Ctx[R1, T1, T2, T3, T4 any]( } func RPartial44Ctx[R1, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) R1, + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4) @@ -5551,8 +5551,8 @@ func RPartial44Ctx[R1, T1, T2, T3, T4 any]( } func RPartial4R2[R1, R2, T1, T2, T3, T4 any]( - t4 T4, fn func(T1, T2, T3, T4) (R1, R2), + t4 T4, ) func(T1, T2, T3) (R1, R2) { return func(t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(t1, t2, t3, t4) @@ -5560,8 +5560,8 @@ func RPartial4R2[R1, R2, T1, T2, T3, T4 any]( } func RPartial42R2[R1, R2, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2), + t3 T3, t4 T4, ) func(T1, T2) (R1, R2) { return func(t1 T1, t2 T2) (R1, R2) { return fn(t1, t2, t3, t4) @@ -5569,8 +5569,8 @@ func RPartial42R2[R1, R2, T1, T2, T3, T4 any]( } func RPartial43R2[R1, R2, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2), + t2 T2, t3 T3, t4 T4, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2, t3, t4) @@ -5578,8 +5578,8 @@ func RPartial43R2[R1, R2, T1, T2, T3, T4 any]( } func RPartial44R2[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4) @@ -5587,8 +5587,8 @@ func RPartial44R2[R1, R2, T1, T2, T3, T4 any]( } func RPartial4R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t4 T4, ) func(context.Context, T1, T2, T3) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -5596,8 +5596,8 @@ func RPartial4R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func RPartial42R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t3 T3, t4 T4, ) func(context.Context, T1, T2) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -5605,8 +5605,8 @@ func RPartial42R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func RPartial43R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t2 T2, t3 T3, t4 T4, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -5614,8 +5614,8 @@ func RPartial43R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func RPartial44R2Ctx[R1, R2, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4) @@ -5623,8 +5623,8 @@ func RPartial44R2Ctx[R1, R2, T1, T2, T3, T4 any]( } func RPartial4R3[R1, R2, R3, T1, T2, T3, T4 any]( - t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3), + t4 T4, ) func(T1, T2, T3) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -5632,8 +5632,8 @@ func RPartial4R3[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial42R3[R1, R2, R3, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3), + t3 T3, t4 T4, ) func(T1, T2) (R1, R2, R3) { return func(t1 T1, t2 T2) (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -5641,8 +5641,8 @@ func RPartial42R3[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial43R3[R1, R2, R3, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -5650,8 +5650,8 @@ func RPartial43R3[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial44R3[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4) @@ -5659,8 +5659,8 @@ func RPartial44R3[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial4R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t4 T4, ) func(context.Context, T1, T2, T3) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -5668,8 +5668,8 @@ func RPartial4R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial42R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t3 T3, t4 T4, ) func(context.Context, T1, T2) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -5677,8 +5677,8 @@ func RPartial42R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial43R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -5686,8 +5686,8 @@ func RPartial43R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial44R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4) @@ -5695,8 +5695,8 @@ func RPartial44R3Ctx[R1, R2, R3, T1, T2, T3, T4 any]( } func RPartial4R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t4 T4, ) func(T1, T2, T3) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -5704,8 +5704,8 @@ func RPartial4R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial42R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t3 T3, t4 T4, ) func(T1, T2) (R1, R2, R3, R4) { return func(t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -5713,8 +5713,8 @@ func RPartial42R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial43R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -5722,8 +5722,8 @@ func RPartial43R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial44R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4) @@ -5731,8 +5731,8 @@ func RPartial44R4[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial4R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t4 T4, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -5740,8 +5740,8 @@ func RPartial4R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial42R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t3 T3, t4 T4, ) func(context.Context, T1, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -5749,8 +5749,8 @@ func RPartial42R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial43R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -5758,8 +5758,8 @@ func RPartial43R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial44R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4) @@ -5767,8 +5767,8 @@ func RPartial44R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4 any]( } func RPartial4R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t4 T4, ) func(T1, T2, T3) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -5776,8 +5776,8 @@ func RPartial4R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial42R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, ) func(T1, T2) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -5785,8 +5785,8 @@ func RPartial42R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial43R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -5794,8 +5794,8 @@ func RPartial43R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial44R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4) @@ -5803,8 +5803,8 @@ func RPartial44R5[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial4R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t4 T4, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -5812,8 +5812,8 @@ func RPartial4R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial42R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, ) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -5821,8 +5821,8 @@ func RPartial42R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial43R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -5830,8 +5830,8 @@ func RPartial43R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial44R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( - t1 T1, t2 T2, t3 T3, t4 T4, fn func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4) @@ -5839,8 +5839,8 @@ func RPartial44R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4 any]( } func RPartial5Void[T1, T2, T3, T4, T5 any]( - t5 T5, fn func(T1, T2, T3, T4, T5), + t5 T5, ) func(T1, T2, T3, T4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) { fn(t1, t2, t3, t4, t5) @@ -5848,8 +5848,8 @@ func RPartial5Void[T1, T2, T3, T4, T5 any]( } func RPartial52Void[T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5), + t4 T4, t5 T5, ) func(T1, T2, T3) { return func(t1 T1, t2 T2, t3 T3) { fn(t1, t2, t3, t4, t5) @@ -5857,8 +5857,8 @@ func RPartial52Void[T1, T2, T3, T4, T5 any]( } func RPartial53Void[T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5), + t3 T3, t4 T4, t5 T5, ) func(T1, T2) { return func(t1 T1, t2 T2) { fn(t1, t2, t3, t4, t5) @@ -5866,8 +5866,8 @@ func RPartial53Void[T1, T2, T3, T4, T5 any]( } func RPartial54Void[T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(T1) { return func(t1 T1) { fn(t1, t2, t3, t4, t5) @@ -5875,8 +5875,8 @@ func RPartial54Void[T1, T2, T3, T4, T5 any]( } func RPartial55Void[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() { return func() { fn(t1, t2, t3, t4, t5) @@ -5884,8 +5884,8 @@ func RPartial55Void[T1, T2, T3, T4, T5 any]( } func RPartial5VoidCtx[T1, T2, T3, T4, T5 any]( - t5 T5, fn func(context.Context, T1, T2, T3, T4, T5), + t5 T5, ) func(context.Context, T1, T2, T3, T4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { fn(ctx, t1, t2, t3, t4, t5) @@ -5893,8 +5893,8 @@ func RPartial5VoidCtx[T1, T2, T3, T4, T5 any]( } func RPartial52VoidCtx[T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5), + t4 T4, t5 T5, ) func(context.Context, T1, T2, T3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { fn(ctx, t1, t2, t3, t4, t5) @@ -5902,8 +5902,8 @@ func RPartial52VoidCtx[T1, T2, T3, T4, T5 any]( } func RPartial53VoidCtx[T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5), + t3 T3, t4 T4, t5 T5, ) func(context.Context, T1, T2) { return func(ctx context.Context, t1 T1, t2 T2) { fn(ctx, t1, t2, t3, t4, t5) @@ -5911,8 +5911,8 @@ func RPartial53VoidCtx[T1, T2, T3, T4, T5 any]( } func RPartial54VoidCtx[T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2, t3, t4, t5) @@ -5920,8 +5920,8 @@ func RPartial54VoidCtx[T1, T2, T3, T4, T5 any]( } func RPartial55VoidCtx[T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5) @@ -5929,8 +5929,8 @@ func RPartial55VoidCtx[T1, T2, T3, T4, T5 any]( } func RPartial5[R1, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(T1, T2, T3, T4, T5) R1, + t5 T5, ) func(T1, T2, T3, T4) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(t1, t2, t3, t4, t5) @@ -5938,8 +5938,8 @@ func RPartial5[R1, T1, T2, T3, T4, T5 any]( } func RPartial52[R1, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) R1, + t4 T4, t5 T5, ) func(T1, T2, T3) R1 { return func(t1 T1, t2 T2, t3 T3) R1 { return fn(t1, t2, t3, t4, t5) @@ -5947,8 +5947,8 @@ func RPartial52[R1, T1, T2, T3, T4, T5 any]( } func RPartial53[R1, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) R1, + t3 T3, t4 T4, t5 T5, ) func(T1, T2) R1 { return func(t1 T1, t2 T2) R1 { return fn(t1, t2, t3, t4, t5) @@ -5956,8 +5956,8 @@ func RPartial53[R1, T1, T2, T3, T4, T5 any]( } func RPartial54[R1, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) R1, + t2 T2, t3 T3, t4 T4, t5 T5, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2, t3, t4, t5) @@ -5965,8 +5965,8 @@ func RPartial54[R1, T1, T2, T3, T4, T5 any]( } func RPartial55[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5) @@ -5974,8 +5974,8 @@ func RPartial55[R1, T1, T2, T3, T4, T5 any]( } func RPartial5Ctx[R1, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t5 T5, ) func(context.Context, T1, T2, T3, T4) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -5983,8 +5983,8 @@ func RPartial5Ctx[R1, T1, T2, T3, T4, T5 any]( } func RPartial52Ctx[R1, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t4 T4, t5 T5, ) func(context.Context, T1, T2, T3) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -5992,8 +5992,8 @@ func RPartial52Ctx[R1, T1, T2, T3, T4, T5 any]( } func RPartial53Ctx[R1, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t3 T3, t4 T4, t5 T5, ) func(context.Context, T1, T2) R1 { return func(ctx context.Context, t1 T1, t2 T2) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -6001,8 +6001,8 @@ func RPartial53Ctx[R1, T1, T2, T3, T4, T5 any]( } func RPartial54Ctx[R1, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -6010,8 +6010,8 @@ func RPartial54Ctx[R1, T1, T2, T3, T4, T5 any]( } func RPartial55Ctx[R1, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5) @@ -6019,8 +6019,8 @@ func RPartial55Ctx[R1, T1, T2, T3, T4, T5 any]( } func RPartial5R2[R1, R2, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2), + t5 T5, ) func(T1, T2, T3, T4) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -6028,8 +6028,8 @@ func RPartial5R2[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial52R2[R1, R2, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2), + t4 T4, t5 T5, ) func(T1, T2, T3) (R1, R2) { return func(t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -6037,8 +6037,8 @@ func RPartial52R2[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial53R2[R1, R2, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2), + t3 T3, t4 T4, t5 T5, ) func(T1, T2) (R1, R2) { return func(t1 T1, t2 T2) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -6046,8 +6046,8 @@ func RPartial53R2[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial54R2[R1, R2, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -6055,8 +6055,8 @@ func RPartial54R2[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial55R2[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5) @@ -6064,8 +6064,8 @@ func RPartial55R2[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial5R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t5 T5, ) func(context.Context, T1, T2, T3, T4) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6073,8 +6073,8 @@ func RPartial5R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial52R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t4 T4, t5 T5, ) func(context.Context, T1, T2, T3) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6082,8 +6082,8 @@ func RPartial52R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial53R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t3 T3, t4 T4, t5 T5, ) func(context.Context, T1, T2) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6091,8 +6091,8 @@ func RPartial53R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial54R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6100,8 +6100,8 @@ func RPartial54R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial55R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6109,8 +6109,8 @@ func RPartial55R2Ctx[R1, R2, T1, T2, T3, T4, T5 any]( } func RPartial5R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t5 T5, ) func(T1, T2, T3, T4) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -6118,8 +6118,8 @@ func RPartial5R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial52R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t4 T4, t5 T5, ) func(T1, T2, T3) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -6127,8 +6127,8 @@ func RPartial52R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial53R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, ) func(T1, T2) (R1, R2, R3) { return func(t1 T1, t2 T2) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -6136,8 +6136,8 @@ func RPartial53R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial54R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -6145,8 +6145,8 @@ func RPartial54R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial55R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5) @@ -6154,8 +6154,8 @@ func RPartial55R3[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial5R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t5 T5, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6163,8 +6163,8 @@ func RPartial5R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial52R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t4 T4, t5 T5, ) func(context.Context, T1, T2, T3) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6172,8 +6172,8 @@ func RPartial52R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial53R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, ) func(context.Context, T1, T2) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6181,8 +6181,8 @@ func RPartial53R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial54R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6190,8 +6190,8 @@ func RPartial54R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial55R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6199,8 +6199,8 @@ func RPartial55R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5 any]( } func RPartial5R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t5 T5, ) func(T1, T2, T3, T4) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -6208,8 +6208,8 @@ func RPartial5R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial52R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t4 T4, t5 T5, ) func(T1, T2, T3) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -6217,8 +6217,8 @@ func RPartial52R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial53R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, ) func(T1, T2) (R1, R2, R3, R4) { return func(t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -6226,8 +6226,8 @@ func RPartial53R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial54R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -6235,8 +6235,8 @@ func RPartial54R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial55R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5) @@ -6244,8 +6244,8 @@ func RPartial55R4[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial5R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t5 T5, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6253,8 +6253,8 @@ func RPartial5R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial52R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t4 T4, t5 T5, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6262,8 +6262,8 @@ func RPartial52R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial53R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, ) func(context.Context, T1, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6271,8 +6271,8 @@ func RPartial53R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial54R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6280,8 +6280,8 @@ func RPartial54R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial55R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6289,8 +6289,8 @@ func RPartial55R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5 any]( } func RPartial5R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t5 T5, ) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -6298,8 +6298,8 @@ func RPartial5R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial52R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, ) func(T1, T2, T3) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -6307,8 +6307,8 @@ func RPartial52R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial53R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, ) func(T1, T2) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -6316,8 +6316,8 @@ func RPartial53R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial54R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -6325,8 +6325,8 @@ func RPartial54R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial55R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5) @@ -6334,8 +6334,8 @@ func RPartial55R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial5R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t5 T5, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6343,8 +6343,8 @@ func RPartial5R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial52R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6352,8 +6352,8 @@ func RPartial52R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial53R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, ) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6361,8 +6361,8 @@ func RPartial53R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial54R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6370,8 +6370,8 @@ func RPartial54R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial55R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, fn func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5) @@ -6379,8 +6379,8 @@ func RPartial55R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5 any]( } func RPartial6Void[T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(T1, T2, T3, T4, T5, T6), + t6 T6, ) func(T1, T2, T3, T4, T5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(t1, t2, t3, t4, t5, t6) @@ -6388,8 +6388,8 @@ func RPartial6Void[T1, T2, T3, T4, T5, T6 any]( } func RPartial62Void[T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6), + t5 T5, t6 T6, ) func(T1, T2, T3, T4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) { fn(t1, t2, t3, t4, t5, t6) @@ -6397,8 +6397,8 @@ func RPartial62Void[T1, T2, T3, T4, T5, T6 any]( } func RPartial63Void[T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6), + t4 T4, t5 T5, t6 T6, ) func(T1, T2, T3) { return func(t1 T1, t2 T2, t3 T3) { fn(t1, t2, t3, t4, t5, t6) @@ -6406,8 +6406,8 @@ func RPartial63Void[T1, T2, T3, T4, T5, T6 any]( } func RPartial64Void[T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1, T2) { return func(t1 T1, t2 T2) { fn(t1, t2, t3, t4, t5, t6) @@ -6415,8 +6415,8 @@ func RPartial64Void[T1, T2, T3, T4, T5, T6 any]( } func RPartial65Void[T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1) { return func(t1 T1) { fn(t1, t2, t3, t4, t5, t6) @@ -6424,8 +6424,8 @@ func RPartial65Void[T1, T2, T3, T4, T5, T6 any]( } func RPartial66Void[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6) @@ -6433,8 +6433,8 @@ func RPartial66Void[T1, T2, T3, T4, T5, T6 any]( } func RPartial6VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t6 T6, ) func(context.Context, T1, T2, T3, T4, T5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6442,8 +6442,8 @@ func RPartial6VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func RPartial62VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t5 T5, t6 T6, ) func(context.Context, T1, T2, T3, T4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6451,8 +6451,8 @@ func RPartial62VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func RPartial63VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2, T3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6460,8 +6460,8 @@ func RPartial63VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func RPartial64VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2) { return func(ctx context.Context, t1 T1, t2 T2) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6469,8 +6469,8 @@ func RPartial64VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func RPartial65VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6478,8 +6478,8 @@ func RPartial65VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func RPartial66VoidCtx[T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6487,8 +6487,8 @@ func RPartial66VoidCtx[T1, T2, T3, T4, T5, T6 any]( } func RPartial6[R1, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(T1, T2, T3, T4, T5, T6) R1, + t6 T6, ) func(T1, T2, T3, T4, T5) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -6496,8 +6496,8 @@ func RPartial6[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial62[R1, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) R1, + t5 T5, t6 T6, ) func(T1, T2, T3, T4) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -6505,8 +6505,8 @@ func RPartial62[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial63[R1, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) R1, + t4 T4, t5 T5, t6 T6, ) func(T1, T2, T3) R1 { return func(t1 T1, t2 T2, t3 T3) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -6514,8 +6514,8 @@ func RPartial63[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial64[R1, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) R1, + t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1, T2) R1 { return func(t1 T1, t2 T2) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -6523,8 +6523,8 @@ func RPartial64[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial65[R1, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -6532,8 +6532,8 @@ func RPartial65[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial66[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6) @@ -6541,8 +6541,8 @@ func RPartial66[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial6Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t6 T6, ) func(context.Context, T1, T2, T3, T4, T5) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6550,8 +6550,8 @@ func RPartial6Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial62Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t5 T5, t6 T6, ) func(context.Context, T1, T2, T3, T4) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6559,8 +6559,8 @@ func RPartial62Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial63Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2, T3) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6568,8 +6568,8 @@ func RPartial63Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial64Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2) R1 { return func(ctx context.Context, t1 T1, t2 T2) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6577,8 +6577,8 @@ func RPartial64Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial65Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6586,8 +6586,8 @@ func RPartial65Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial66Ctx[R1, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6595,8 +6595,8 @@ func RPartial66Ctx[R1, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t6 T6, ) func(T1, T2, T3, T4, T5) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -6604,8 +6604,8 @@ func RPartial6R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t5 T5, t6 T6, ) func(T1, T2, T3, T4) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -6613,8 +6613,8 @@ func RPartial62R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t4 T4, t5 T5, t6 T6, ) func(T1, T2, T3) (R1, R2) { return func(t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -6622,8 +6622,8 @@ func RPartial63R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1, T2) (R1, R2) { return func(t1 T1, t2 T2) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -6631,8 +6631,8 @@ func RPartial64R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -6640,8 +6640,8 @@ func RPartial65R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6) @@ -6649,8 +6649,8 @@ func RPartial66R2[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t6 T6, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6658,8 +6658,8 @@ func RPartial6R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t5 T5, t6 T6, ) func(context.Context, T1, T2, T3, T4) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6667,8 +6667,8 @@ func RPartial62R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2, T3) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6676,8 +6676,8 @@ func RPartial63R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6685,8 +6685,8 @@ func RPartial64R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6694,8 +6694,8 @@ func RPartial65R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6703,8 +6703,8 @@ func RPartial66R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t6 T6, ) func(T1, T2, T3, T4, T5) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -6712,8 +6712,8 @@ func RPartial6R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t5 T5, t6 T6, ) func(T1, T2, T3, T4) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -6721,8 +6721,8 @@ func RPartial62R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, ) func(T1, T2, T3) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -6730,8 +6730,8 @@ func RPartial63R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1, T2) (R1, R2, R3) { return func(t1 T1, t2 T2) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -6739,8 +6739,8 @@ func RPartial64R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -6748,8 +6748,8 @@ func RPartial65R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6) @@ -6757,8 +6757,8 @@ func RPartial66R3[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t6 T6, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6766,8 +6766,8 @@ func RPartial6R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t5 T5, t6 T6, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6775,8 +6775,8 @@ func RPartial62R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2, T3) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6784,8 +6784,8 @@ func RPartial63R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6793,8 +6793,8 @@ func RPartial64R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6802,8 +6802,8 @@ func RPartial65R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6811,8 +6811,8 @@ func RPartial66R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t6 T6, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -6820,8 +6820,8 @@ func RPartial6R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t5 T5, t6 T6, ) func(T1, T2, T3, T4) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -6829,8 +6829,8 @@ func RPartial62R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, ) func(T1, T2, T3) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -6838,8 +6838,8 @@ func RPartial63R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1, T2) (R1, R2, R3, R4) { return func(t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -6847,8 +6847,8 @@ func RPartial64R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -6856,8 +6856,8 @@ func RPartial65R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6) @@ -6865,8 +6865,8 @@ func RPartial66R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t6 T6, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6874,8 +6874,8 @@ func RPartial6R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t5 T5, t6 T6, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6883,8 +6883,8 @@ func RPartial62R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6892,8 +6892,8 @@ func RPartial63R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6901,8 +6901,8 @@ func RPartial64R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6910,8 +6910,8 @@ func RPartial65R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6919,8 +6919,8 @@ func RPartial66R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t6 T6, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -6928,8 +6928,8 @@ func RPartial6R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, ) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -6937,8 +6937,8 @@ func RPartial62R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, ) func(T1, T2, T3) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -6946,8 +6946,8 @@ func RPartial63R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1, T2) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -6955,8 +6955,8 @@ func RPartial64R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -6964,8 +6964,8 @@ func RPartial65R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6) @@ -6973,8 +6973,8 @@ func RPartial66R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial6R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t6 T6, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6982,8 +6982,8 @@ func RPartial6R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial62R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -6991,8 +6991,8 @@ func RPartial62R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial63R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -7000,8 +7000,8 @@ func RPartial63R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial64R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -7009,8 +7009,8 @@ func RPartial64R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial65R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -7018,8 +7018,8 @@ func RPartial65R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial66R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, fn func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6) @@ -7027,8 +7027,8 @@ func RPartial66R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6 any]( } func RPartial7Void[T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t7 T7, ) func(T1, T2, T3, T4, T5, T6) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -7036,8 +7036,8 @@ func RPartial7Void[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72Void[T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t6 T6, t7 T7, ) func(T1, T2, T3, T4, T5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -7045,8 +7045,8 @@ func RPartial72Void[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73Void[T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3, T4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -7054,8 +7054,8 @@ func RPartial73Void[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74Void[T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3) { return func(t1 T1, t2 T2, t3 T3) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -7063,8 +7063,8 @@ func RPartial74Void[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75Void[T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2) { return func(t1 T1, t2 T2) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -7072,8 +7072,8 @@ func RPartial75Void[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76Void[T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1) { return func(t1 T1) { fn(t1, t2, t3, t4, t5, t6, t7) @@ -7081,8 +7081,8 @@ func RPartial76Void[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77Void[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6, t7) @@ -7090,8 +7090,8 @@ func RPartial77Void[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t7 T7, ) func(context.Context, T1, T2, T3, T4, T5, T6) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7099,8 +7099,8 @@ func RPartial7VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4, T5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7108,8 +7108,8 @@ func RPartial72VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7117,8 +7117,8 @@ func RPartial73VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7126,8 +7126,8 @@ func RPartial74VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2) { return func(ctx context.Context, t1 T1, t2 T2) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7135,8 +7135,8 @@ func RPartial75VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7144,8 +7144,8 @@ func RPartial76VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7153,8 +7153,8 @@ func RPartial77VoidCtx[T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t7 T7, ) func(T1, T2, T3, T4, T5, T6) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7162,8 +7162,8 @@ func RPartial7[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t6 T6, t7 T7, ) func(T1, T2, T3, T4, T5) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7171,8 +7171,8 @@ func RPartial72[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3, T4) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7180,8 +7180,8 @@ func RPartial73[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3) R1 { return func(t1 T1, t2 T2, t3 T3) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7189,8 +7189,8 @@ func RPartial74[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2) R1 { return func(t1 T1, t2 T2) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7198,8 +7198,8 @@ func RPartial75[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7207,8 +7207,8 @@ func RPartial76[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7216,8 +7216,8 @@ func RPartial77[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t7 T7, ) func(context.Context, T1, T2, T3, T4, T5, T6) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7225,8 +7225,8 @@ func RPartial7Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4, T5) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7234,8 +7234,8 @@ func RPartial72Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7243,8 +7243,8 @@ func RPartial73Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7252,8 +7252,8 @@ func RPartial74Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2) R1 { return func(ctx context.Context, t1 T1, t2 T2) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7261,8 +7261,8 @@ func RPartial75Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7270,8 +7270,8 @@ func RPartial76Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7279,8 +7279,8 @@ func RPartial77Ctx[R1, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t7 T7, ) func(T1, T2, T3, T4, T5, T6) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7288,8 +7288,8 @@ func RPartial7R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t6 T6, t7 T7, ) func(T1, T2, T3, T4, T5) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7297,8 +7297,8 @@ func RPartial72R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3, T4) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7306,8 +7306,8 @@ func RPartial73R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3) (R1, R2) { return func(t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7315,8 +7315,8 @@ func RPartial74R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2) (R1, R2) { return func(t1 T1, t2 T2) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7324,8 +7324,8 @@ func RPartial75R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7333,8 +7333,8 @@ func RPartial76R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7342,8 +7342,8 @@ func RPartial77R2[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t7 T7, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7351,8 +7351,8 @@ func RPartial7R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7360,8 +7360,8 @@ func RPartial72R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7369,8 +7369,8 @@ func RPartial73R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7378,8 +7378,8 @@ func RPartial74R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7387,8 +7387,8 @@ func RPartial75R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7396,8 +7396,8 @@ func RPartial76R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7405,8 +7405,8 @@ func RPartial77R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t7 T7, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7414,8 +7414,8 @@ func RPartial7R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t6 T6, t7 T7, ) func(T1, T2, T3, T4, T5) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7423,8 +7423,8 @@ func RPartial72R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3, T4) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7432,8 +7432,8 @@ func RPartial73R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7441,8 +7441,8 @@ func RPartial74R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2) (R1, R2, R3) { return func(t1 T1, t2 T2) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7450,8 +7450,8 @@ func RPartial75R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7459,8 +7459,8 @@ func RPartial76R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7468,8 +7468,8 @@ func RPartial77R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t7 T7, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7477,8 +7477,8 @@ func RPartial7R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7486,8 +7486,8 @@ func RPartial72R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7495,8 +7495,8 @@ func RPartial73R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7504,8 +7504,8 @@ func RPartial74R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7513,8 +7513,8 @@ func RPartial75R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7522,8 +7522,8 @@ func RPartial76R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7531,8 +7531,8 @@ func RPartial77R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t7 T7, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7540,8 +7540,8 @@ func RPartial7R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t6 T6, t7 T7, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7549,8 +7549,8 @@ func RPartial72R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3, T4) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7558,8 +7558,8 @@ func RPartial73R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7567,8 +7567,8 @@ func RPartial74R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2) (R1, R2, R3, R4) { return func(t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7576,8 +7576,8 @@ func RPartial75R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7585,8 +7585,8 @@ func RPartial76R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7594,8 +7594,8 @@ func RPartial77R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t7 T7, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7603,8 +7603,8 @@ func RPartial7R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7612,8 +7612,8 @@ func RPartial72R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7621,8 +7621,8 @@ func RPartial73R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7630,8 +7630,8 @@ func RPartial74R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7639,8 +7639,8 @@ func RPartial75R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7648,8 +7648,8 @@ func RPartial76R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7657,8 +7657,8 @@ func RPartial77R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t7 T7, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7666,8 +7666,8 @@ func RPartial7R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t6 T6, t7 T7, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7675,8 +7675,8 @@ func RPartial72R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7684,8 +7684,8 @@ func RPartial73R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2, T3) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7693,8 +7693,8 @@ func RPartial74R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1, T2) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7702,8 +7702,8 @@ func RPartial75R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7711,8 +7711,8 @@ func RPartial76R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7) @@ -7720,8 +7720,8 @@ func RPartial77R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial7R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t7 T7, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7729,8 +7729,8 @@ func RPartial7R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial72R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7738,8 +7738,8 @@ func RPartial72R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial73R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7747,8 +7747,8 @@ func RPartial73R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial74R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7756,8 +7756,8 @@ func RPartial74R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial75R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7765,8 +7765,8 @@ func RPartial75R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial76R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7774,8 +7774,8 @@ func RPartial76R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial77R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7) @@ -7783,8 +7783,8 @@ func RPartial77R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7 any]( } func RPartial8Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t8 T8, ) func(T1, T2, T3, T4, T5, T6, T7) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7792,8 +7792,8 @@ func RPartial8Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5, T6) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7801,8 +7801,8 @@ func RPartial82Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7810,8 +7810,8 @@ func RPartial83Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7819,8 +7819,8 @@ func RPartial84Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3) { return func(t1 T1, t2 T2, t3 T3) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7828,8 +7828,8 @@ func RPartial85Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2) { return func(t1 T1, t2 T2) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7837,8 +7837,8 @@ func RPartial86Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1) { return func(t1 T1) { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7846,8 +7846,8 @@ func RPartial87Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7855,8 +7855,8 @@ func RPartial88Void[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7864,8 +7864,8 @@ func RPartial8VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7873,8 +7873,8 @@ func RPartial82VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7882,8 +7882,8 @@ func RPartial83VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7891,8 +7891,8 @@ func RPartial84VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7900,8 +7900,8 @@ func RPartial85VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2) { return func(ctx context.Context, t1 T1, t2 T2) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7909,8 +7909,8 @@ func RPartial86VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7918,8 +7918,8 @@ func RPartial87VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -7927,8 +7927,8 @@ func RPartial88VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t8 T8, ) func(T1, T2, T3, T4, T5, T6, T7) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7936,8 +7936,8 @@ func RPartial8[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5, T6) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7945,8 +7945,8 @@ func RPartial82[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7954,8 +7954,8 @@ func RPartial83[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7963,8 +7963,8 @@ func RPartial84[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3) R1 { return func(t1 T1, t2 T2, t3 T3) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7972,8 +7972,8 @@ func RPartial85[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2) R1 { return func(t1 T1, t2 T2) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7981,8 +7981,8 @@ func RPartial86[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7990,8 +7990,8 @@ func RPartial87[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -7999,8 +7999,8 @@ func RPartial88[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8008,8 +8008,8 @@ func RPartial8Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8017,8 +8017,8 @@ func RPartial82Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8026,8 +8026,8 @@ func RPartial83Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8035,8 +8035,8 @@ func RPartial84Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8044,8 +8044,8 @@ func RPartial85Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2) R1 { return func(ctx context.Context, t1 T1, t2 T2) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8053,8 +8053,8 @@ func RPartial86Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8062,8 +8062,8 @@ func RPartial87Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8071,8 +8071,8 @@ func RPartial88Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t8 T8, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8080,8 +8080,8 @@ func RPartial8R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5, T6) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8089,8 +8089,8 @@ func RPartial82R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8098,8 +8098,8 @@ func RPartial83R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8107,8 +8107,8 @@ func RPartial84R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3) (R1, R2) { return func(t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8116,8 +8116,8 @@ func RPartial85R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2) (R1, R2) { return func(t1 T1, t2 T2) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8125,8 +8125,8 @@ func RPartial86R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8134,8 +8134,8 @@ func RPartial87R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8143,8 +8143,8 @@ func RPartial88R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8152,8 +8152,8 @@ func RPartial8R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8161,8 +8161,8 @@ func RPartial82R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8170,8 +8170,8 @@ func RPartial83R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8179,8 +8179,8 @@ func RPartial84R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8188,8 +8188,8 @@ func RPartial85R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8197,8 +8197,8 @@ func RPartial86R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8206,8 +8206,8 @@ func RPartial87R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8215,8 +8215,8 @@ func RPartial88R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t8 T8, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8224,8 +8224,8 @@ func RPartial8R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8233,8 +8233,8 @@ func RPartial82R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8242,8 +8242,8 @@ func RPartial83R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8251,8 +8251,8 @@ func RPartial84R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8260,8 +8260,8 @@ func RPartial85R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2) (R1, R2, R3) { return func(t1 T1, t2 T2) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8269,8 +8269,8 @@ func RPartial86R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8278,8 +8278,8 @@ func RPartial87R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8287,8 +8287,8 @@ func RPartial88R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8296,8 +8296,8 @@ func RPartial8R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8305,8 +8305,8 @@ func RPartial82R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8314,8 +8314,8 @@ func RPartial83R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8323,8 +8323,8 @@ func RPartial84R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8332,8 +8332,8 @@ func RPartial85R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8341,8 +8341,8 @@ func RPartial86R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8350,8 +8350,8 @@ func RPartial87R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8359,8 +8359,8 @@ func RPartial88R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t8 T8, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8368,8 +8368,8 @@ func RPartial8R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8377,8 +8377,8 @@ func RPartial82R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8386,8 +8386,8 @@ func RPartial83R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8395,8 +8395,8 @@ func RPartial84R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8404,8 +8404,8 @@ func RPartial85R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2) (R1, R2, R3, R4) { return func(t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8413,8 +8413,8 @@ func RPartial86R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8422,8 +8422,8 @@ func RPartial87R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8431,8 +8431,8 @@ func RPartial88R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8440,8 +8440,8 @@ func RPartial8R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8449,8 +8449,8 @@ func RPartial82R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8458,8 +8458,8 @@ func RPartial83R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8467,8 +8467,8 @@ func RPartial84R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8476,8 +8476,8 @@ func RPartial85R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8485,8 +8485,8 @@ func RPartial86R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8494,8 +8494,8 @@ func RPartial87R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8503,8 +8503,8 @@ func RPartial88R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t8 T8, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8512,8 +8512,8 @@ func RPartial8R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8521,8 +8521,8 @@ func RPartial82R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8530,8 +8530,8 @@ func RPartial83R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8539,8 +8539,8 @@ func RPartial84R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2, T3) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8548,8 +8548,8 @@ func RPartial85R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1, T2) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8557,8 +8557,8 @@ func RPartial86R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8566,8 +8566,8 @@ func RPartial87R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8) @@ -8575,8 +8575,8 @@ func RPartial88R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial8R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8584,8 +8584,8 @@ func RPartial8R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial82R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8593,8 +8593,8 @@ func RPartial82R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial83R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8602,8 +8602,8 @@ func RPartial83R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial84R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8611,8 +8611,8 @@ func RPartial84R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial85R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8620,8 +8620,8 @@ func RPartial85R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial86R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8629,8 +8629,8 @@ func RPartial86R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial87R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8638,8 +8638,8 @@ func RPartial87R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial88R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8) @@ -8647,8 +8647,8 @@ func RPartial88R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8 any]( } func RPartial9Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7, T8) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8656,8 +8656,8 @@ func RPartial9Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8665,8 +8665,8 @@ func RPartial92Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8674,8 +8674,8 @@ func RPartial93Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8683,8 +8683,8 @@ func RPartial94Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8692,8 +8692,8 @@ func RPartial95Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3) { return func(t1 T1, t2 T2, t3 T3) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8701,8 +8701,8 @@ func RPartial96Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2) { return func(t1 T1, t2 T2) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8710,8 +8710,8 @@ func RPartial97Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1) { return func(t1 T1) { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8719,8 +8719,8 @@ func RPartial98Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() { return func() { fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8728,8 +8728,8 @@ func RPartial99Void[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8737,8 +8737,8 @@ func RPartial9VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8746,8 +8746,8 @@ func RPartial92VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8755,8 +8755,8 @@ func RPartial93VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8764,8 +8764,8 @@ func RPartial94VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8773,8 +8773,8 @@ func RPartial95VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8782,8 +8782,8 @@ func RPartial96VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2) { return func(ctx context.Context, t1 T1, t2 T2) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8791,8 +8791,8 @@ func RPartial97VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1) { return func(ctx context.Context, t1 T1) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8800,8 +8800,8 @@ func RPartial98VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) { return func(ctx context.Context) { fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8809,8 +8809,8 @@ func RPartial99VoidCtx[T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7, T8) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8818,8 +8818,8 @@ func RPartial9[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8827,8 +8827,8 @@ func RPartial92[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8836,8 +8836,8 @@ func RPartial93[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8845,8 +8845,8 @@ func RPartial94[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4) R1 { return func(t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8854,8 +8854,8 @@ func RPartial95[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3) R1 { return func(t1 T1, t2 T2, t3 T3) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8863,8 +8863,8 @@ func RPartial96[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2) R1 { return func(t1 T1, t2 T2) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8872,8 +8872,8 @@ func RPartial97[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1) R1 { return func(t1 T1) R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8881,8 +8881,8 @@ func RPartial98[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() R1 { return func() R1 { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8890,8 +8890,8 @@ func RPartial99[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8899,8 +8899,8 @@ func RPartial9Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8908,8 +8908,8 @@ func RPartial92Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8917,8 +8917,8 @@ func RPartial93Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8926,8 +8926,8 @@ func RPartial94Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8935,8 +8935,8 @@ func RPartial95Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3) R1 { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8944,8 +8944,8 @@ func RPartial96Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2) R1 { return func(ctx context.Context, t1 T1, t2 T2) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8953,8 +8953,8 @@ func RPartial97Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1) R1 { return func(ctx context.Context, t1 T1) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8962,8 +8962,8 @@ func RPartial98Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) R1, + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) R1 { return func(ctx context.Context) R1 { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8971,8 +8971,8 @@ func RPartial99Ctx[R1, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8980,8 +8980,8 @@ func RPartial9R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8989,8 +8989,8 @@ func RPartial92R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -8998,8 +8998,8 @@ func RPartial93R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9007,8 +9007,8 @@ func RPartial94R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4) (R1, R2) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9016,8 +9016,8 @@ func RPartial95R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3) (R1, R2) { return func(t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9025,8 +9025,8 @@ func RPartial96R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2) (R1, R2) { return func(t1 T1, t2 T2) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9034,8 +9034,8 @@ func RPartial97R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1) (R1, R2) { return func(t1 T1) (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9043,8 +9043,8 @@ func RPartial98R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2) { return func() (R1, R2) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9052,8 +9052,8 @@ func RPartial99R2[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9061,8 +9061,8 @@ func RPartial9R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9070,8 +9070,8 @@ func RPartial92R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9079,8 +9079,8 @@ func RPartial93R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9088,8 +9088,8 @@ func RPartial94R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9097,8 +9097,8 @@ func RPartial95R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9106,8 +9106,8 @@ func RPartial96R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2) (R1, R2) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9115,8 +9115,8 @@ func RPartial97R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1) (R1, R2) { return func(ctx context.Context, t1 T1) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9124,8 +9124,8 @@ func RPartial98R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2) { return func(ctx context.Context) (R1, R2) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9133,8 +9133,8 @@ func RPartial99R2Ctx[R1, R2, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9142,8 +9142,8 @@ func RPartial9R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9151,8 +9151,8 @@ func RPartial92R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9160,8 +9160,8 @@ func RPartial93R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9169,8 +9169,8 @@ func RPartial94R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9178,8 +9178,8 @@ func RPartial95R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3) (R1, R2, R3) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9187,8 +9187,8 @@ func RPartial96R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2) (R1, R2, R3) { return func(t1 T1, t2 T2) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9196,8 +9196,8 @@ func RPartial97R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1) (R1, R2, R3) { return func(t1 T1) (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9205,8 +9205,8 @@ func RPartial98R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2, R3) { return func() (R1, R2, R3) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9214,8 +9214,8 @@ func RPartial99R3[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9223,8 +9223,8 @@ func RPartial9R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9232,8 +9232,8 @@ func RPartial92R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9241,8 +9241,8 @@ func RPartial93R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9250,8 +9250,8 @@ func RPartial94R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9259,8 +9259,8 @@ func RPartial95R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9268,8 +9268,8 @@ func RPartial96R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2) (R1, R2, R3) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9277,8 +9277,8 @@ func RPartial97R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1) (R1, R2, R3) { return func(ctx context.Context, t1 T1) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9286,8 +9286,8 @@ func RPartial98R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2, R3) { return func(ctx context.Context) (R1, R2, R3) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9295,8 +9295,8 @@ func RPartial99R3Ctx[R1, R2, R3, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9304,8 +9304,8 @@ func RPartial9R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9313,8 +9313,8 @@ func RPartial92R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9322,8 +9322,8 @@ func RPartial93R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9331,8 +9331,8 @@ func RPartial94R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9340,8 +9340,8 @@ func RPartial95R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3) (R1, R2, R3, R4) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9349,8 +9349,8 @@ func RPartial96R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2) (R1, R2, R3, R4) { return func(t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9358,8 +9358,8 @@ func RPartial97R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1) (R1, R2, R3, R4) { return func(t1 T1) (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9367,8 +9367,8 @@ func RPartial98R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2, R3, R4) { return func() (R1, R2, R3, R4) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9376,8 +9376,8 @@ func RPartial99R4[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9385,8 +9385,8 @@ func RPartial9R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9394,8 +9394,8 @@ func RPartial92R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9403,8 +9403,8 @@ func RPartial93R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9412,8 +9412,8 @@ func RPartial94R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9421,8 +9421,8 @@ func RPartial95R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9430,8 +9430,8 @@ func RPartial96R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9439,8 +9439,8 @@ func RPartial97R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1) (R1, R2, R3, R4) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9448,8 +9448,8 @@ func RPartial98R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2, R3, R4) { return func(ctx context.Context) (R1, R2, R3, R4) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9457,8 +9457,8 @@ func RPartial99R4Ctx[R1, R2, R3, R4, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9466,8 +9466,8 @@ func RPartial9R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9475,8 +9475,8 @@ func RPartial92R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial93R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9484,8 +9484,8 @@ func RPartial93R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial94R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9493,8 +9493,8 @@ func RPartial94R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial95R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9502,8 +9502,8 @@ func RPartial95R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial96R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2, T3) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9511,8 +9511,8 @@ func RPartial96R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial97R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1, T2) (R1, R2, R3, R4, R5) { return func(t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9520,8 +9520,8 @@ func RPartial97R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial98R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(T1) (R1, R2, R3, R4, R5) { return func(t1 T1) (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9529,8 +9529,8 @@ func RPartial98R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial99R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func() (R1, R2, R3, R4, R5) { return func() (R1, R2, R3, R4, R5) { return fn(t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9538,8 +9538,8 @@ func RPartial99R5[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial9R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9547,8 +9547,8 @@ func RPartial9R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( } func RPartial92R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6, T7) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9556,8 +9556,8 @@ func RPartial92R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] } func RPartial93R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5, T6) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9565,8 +9565,8 @@ func RPartial93R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] } func RPartial94R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4, T5) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4, t5 T5) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9574,8 +9574,8 @@ func RPartial94R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] } func RPartial95R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3, T4) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3, t4 T4) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9583,8 +9583,8 @@ func RPartial95R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] } func RPartial96R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2, T3) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2, t3 T3) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9592,8 +9592,8 @@ func RPartial96R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] } func RPartial97R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1, T2) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1, t2 T2) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9601,8 +9601,8 @@ func RPartial97R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] } func RPartial98R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context, T1) (R1, R2, R3, R4, R5) { return func(ctx context.Context, t1 T1) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) @@ -9610,8 +9610,8 @@ func RPartial98R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] } func RPartial99R5Ctx[R1, R2, R3, R4, R5, T1, T2, T3, T4, T5, T6, T7, T8, T9 any]( - t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, fn func(context.Context, T1, T2, T3, T4, T5, T6, T7, T8, T9) (R1, R2, R3, R4, R5), + t1 T1, t2 T2, t3 T3, t4 T4, t5 T5, t6 T6, t7 T7, t8 T8, t9 T9, ) func(context.Context) (R1, R2, R3, R4, R5) { return func(ctx context.Context) (R1, R2, R3, R4, R5) { return fn(ctx, t1, t2, t3, t4, t5, t6, t7, t8, t9) From 521cb81670b3f0a9c06bfc130bab35fb25eddbd5 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Tue, 22 Jul 2025 09:16:13 +0300 Subject: [PATCH 23/44] lomap wip --- lomap/count.go | 6 +++--- lomap/filter.go | 6 +++--- lomap/getter.go | 26 +++++++++++++++++++++++--- lomap/map.go | 4 ++-- lomap/parts.go | 8 ++++---- lomap/split.go | 32 +++++++++++++++++++++++++++++++- 6 files changed, 66 insertions(+), 16 deletions(-) diff --git a/lomap/count.go b/lomap/count.go index ccc0918c..c008fe11 100644 --- a/lomap/count.go +++ b/lomap/count.go @@ -1,6 +1,6 @@ package lomap -func CountKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (count int) { +func CountKeys[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) (count int) { for k := range m { if pred(k) { count++ @@ -10,7 +10,7 @@ func CountKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (cou return count } -func CountValues[K comparable, V any, Map ~map[K]V](m Map, pred func(V) bool) (count int) { +func CountValues[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) (count int) { for _, v := range m { if pred(v) { count++ @@ -20,7 +20,7 @@ func CountValues[K comparable, V any, Map ~map[K]V](m Map, pred func(V) bool) (c return count } -func CountPairs[K comparable, V any, Map ~map[K]V](m Map, pred func(K, V) bool) (count int) { +func CountPairs[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) (count int) { for k, v := range m { if pred(k, v) { count++ diff --git a/lomap/filter.go b/lomap/filter.go index 08e7030c..87d12502 100644 --- a/lomap/filter.go +++ b/lomap/filter.go @@ -1,6 +1,6 @@ package lomap -func FilterKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (filtered Map) { +func FilterKeys[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) (filtered Map) { filtered = make(Map, len(m)) for k, v := range m { if pred(k) { @@ -11,7 +11,7 @@ func FilterKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (fi return filtered } -func FilterValues[K comparable, V any, Map ~map[K]V](m Map, pred func(V) bool) (filtered Map) { +func FilterValues[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) (filtered Map) { filtered = make(Map, len(m)) for k, v := range m { if pred(v) { @@ -22,7 +22,7 @@ func FilterValues[K comparable, V any, Map ~map[K]V](m Map, pred func(V) bool) ( return filtered } -func FilterPairs[K comparable, V any, Map ~map[K]V](m Map, pred func(K, V) bool) (filtered Map) { +func FilterPairs[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) (filtered Map) { filtered = make(Map, len(m)) for k, v := range m { if pred(k, v) { diff --git a/lomap/getter.go b/lomap/getter.go index 8a8b9ed3..7eeb9ebc 100644 --- a/lomap/getter.go +++ b/lomap/getter.go @@ -1,13 +1,13 @@ package lomap -func NewGetter[K comparable, V any, Map ~map[K]V](m Map) func(K) (V, bool) { +func NewGetter[Map ~map[K]V, K comparable, V any](m Map) func(K) (V, bool) { return func(k K) (v V, ok bool) { v, ok = m[k] return } } -func NewGetterWithDefault[K comparable, V any, Map ~map[K]V](m Map, defaultValue V) func(K) V { +func NewGetterWithDefault[Map ~map[K]V, K comparable, V any](m Map, defaultValue V) func(K) V { return func(k K) V { if v, ok := m[k]; ok { return v @@ -17,7 +17,17 @@ func NewGetterWithDefault[K comparable, V any, Map ~map[K]V](m Map, defaultValue } } -func NewGetterWithFallback[K comparable, V any, Map ~map[K]V](m Map, fallback func(K) V) func(K) V { +func NewGetterOrDefault[Map ~map[K]V, K comparable, V any](m Map) func(K, V) V { + return func(k K, defaultValue V) V { + if v, ok := m[k]; ok { + return v + } + + return defaultValue + } +} + +func NewGetterWithFallback[Map ~map[K]V, K comparable, V any](m Map, fallback func(K) V) func(K) V { return func(k K) V { if v, ok := m[k]; ok { return v @@ -26,3 +36,13 @@ func NewGetterWithFallback[K comparable, V any, Map ~map[K]V](m Map, fallback fu return fallback(k) } } + +func NewGetterOrFallback[Map ~map[K]V, K comparable, V any](m Map) func(K, func(K) V) V { + return func(k K, fallback func(K) V) V { + if v, ok := m[k]; ok { + return v + } + + return fallback(k) + } +} diff --git a/lomap/map.go b/lomap/map.go index d6f2b4af..7865d005 100644 --- a/lomap/map.go +++ b/lomap/map.go @@ -1,6 +1,6 @@ package lomap -func Enumerate[K comparable, V any, Map ~map[K]V](m Map) (indices map[K]int) { +func Enumerate[Map ~map[K]V, K comparable, V any](m Map) (indices map[K]int) { indices = make(map[K]int, len(m)) i := 0 for k := range m { @@ -11,7 +11,7 @@ func Enumerate[K comparable, V any, Map ~map[K]V](m Map) (indices map[K]int) { return indices } -func Swap[K, V comparable, Map ~map[K]V](m Map) (swapped map[V]K) { +func Swap[Map ~map[K]V, K, V comparable](m Map) (swapped map[V]K) { swapped = make(map[V]K, len(m)) for k, v := range m { swapped[v] = k diff --git a/lomap/parts.go b/lomap/parts.go index 4a9eab7c..d6e1121f 100644 --- a/lomap/parts.go +++ b/lomap/parts.go @@ -2,7 +2,7 @@ package lomap import "github.com/samber/lo/lotup" -func Keys[K comparable, V any, Map ~map[K]V](m Map) (keys []K) { +func Keys[Map ~map[K]V, K comparable, V any](m Map) (keys []K) { keys = make([]K, 0, len(m)) for k := range m { keys = append(keys, k) @@ -11,7 +11,7 @@ func Keys[K comparable, V any, Map ~map[K]V](m Map) (keys []K) { return keys } -func Values[K comparable, V any, Map ~map[K]V](m Map) (values []V) { +func Values[Map ~map[K]V, K comparable, V any](m Map) (values []V) { values = make([]V, 0, len(m)) for _, v := range m { values = append(values, v) @@ -20,7 +20,7 @@ func Values[K comparable, V any, Map ~map[K]V](m Map) (values []V) { return values } -func Pairs[K comparable, V any, Map ~map[K]V](m Map) (pairs []lotup.Tuple2[K, V]) { +func Pairs[Map ~map[K]V, K comparable, V any](m Map) (pairs []lotup.Tuple2[K, V]) { pairs = make([]lotup.Tuple2[K, V], 0, len(m)) for k, v := range m { pairs = append(pairs, lotup.Of2(k, v)) @@ -29,7 +29,7 @@ func Pairs[K comparable, V any, Map ~map[K]V](m Map) (pairs []lotup.Tuple2[K, V] return pairs } -func KeysAndValues[K comparable, V any, Map ~map[K]V](m Map) (keys []K, values []V) { +func KeysAndValues[Map ~map[K]V, K comparable, V any](m Map) (keys []K, values []V) { keys = make([]K, 0, len(m)) values = make([]V, 0, len(m)) for k, v := range m { diff --git a/lomap/split.go b/lomap/split.go index 91580615..92645660 100644 --- a/lomap/split.go +++ b/lomap/split.go @@ -1,6 +1,6 @@ package lomap -func SplitKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (taken, rest Map) { +func SplitKeys[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) (taken, rest Map) { taken = make(Map, len(m)) rest = make(Map, len(m)) @@ -14,3 +14,33 @@ func SplitKeys[K comparable, V any, Map ~map[K]V](m Map, pred func(K) bool) (tak return taken, rest } + +func SplitValues[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) (taken, rest Map) { + taken = make(Map, len(m)) + rest = make(Map, len(m)) + + for k, v := range m { + if pred(v) { + taken[k] = v + } else { + rest[k] = v + } + } + + return taken, rest +} + +func SplitPairs[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) (taken, rest Map) { + taken = make(Map, len(m)) + rest = make(Map, len(m)) + + for k, v := range m { + if pred(k, v) { + taken[k] = v + } else { + rest[k] = v + } + } + + return taken, rest +} From c644fc6b7c65cd1944a726aa9b8e627c9b049de7 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Tue, 22 Jul 2025 09:43:06 +0300 Subject: [PATCH 24/44] loset fix types --- loset/mutation.go | 6 +++--- loset/operations.go | 26 +++++++++++++------------- loset/set.go | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/loset/mutation.go b/loset/mutation.go index 41eb3dc7..75b8279e 100644 --- a/loset/mutation.go +++ b/loset/mutation.go @@ -2,7 +2,7 @@ package loset import "maps" -func KeepCommon[T comparable, Set ~map[T]struct{}](self, other Set) { +func KeepCommon[S ~Set[T], T comparable](self, other S) { for k := range self { if _, ok := other[k]; !ok { delete(self, k) @@ -10,7 +10,7 @@ func KeepCommon[T comparable, Set ~map[T]struct{}](self, other Set) { } } -func Subtract[T comparable, Set ~map[T]struct{}](self, other Set) { +func Subtract[S ~Set[T], T comparable](self, other S) { for k := range self { if _, ok := other[k]; ok { delete(self, k) @@ -18,6 +18,6 @@ func Subtract[T comparable, Set ~map[T]struct{}](self, other Set) { } } -func Add[T comparable, Set ~map[T]struct{}](self Set, other Set) { +func Add[S ~Set[T], T comparable](self, other S) { maps.Copy(self, other) } diff --git a/loset/operations.go b/loset/operations.go index 0a1c9560..d108daf0 100644 --- a/loset/operations.go +++ b/loset/operations.go @@ -6,13 +6,13 @@ import ( "maps" ) -func Intersection[T comparable, Set ~map[T]struct{}](a, b Set) (intersection Set) { +func Intersection[S ~Set[T], T comparable](a, b S) (intersection S) { if len(b) < len(a) { // swap a and b to ensure a is the smaller set a, b = b, a } - intersection = make(Set, len(a)) + intersection = make(S, len(a)) for k := range a { if _, ok := b[k]; ok { intersection[k] = struct{}{} @@ -22,13 +22,13 @@ func Intersection[T comparable, Set ~map[T]struct{}](a, b Set) (intersection Set return } -func GroupIntersection[T comparable, Set ~map[T]struct{}](sets ...Set) (intersection Set) { +func GroupIntersection[S ~Set[T], T comparable](sets ...S) (intersection S) { if len(sets) == 0 { return nil } // look for the smallest set to reduce iterations - i := lotup.First(loslice.ArgMin(sets, func(s Set) int { return len(s) })) + i := lotup.First(loslice.ArgMin(sets, func(s S) int { return len(s) })) intersection = maps.Clone(sets[i]) copy(sets[i:], sets[i+1:]) @@ -46,7 +46,7 @@ func GroupIntersection[T comparable, Set ~map[T]struct{}](sets ...Set) (intersec return intersection } -func Union[T comparable, Set ~map[T]struct{}](a, b Set) (union Set) { +func Union[S ~Set[T], T comparable](a, b S) (union S) { if len(b) > len(a) { // swap a and b to ensure a is the larger set a, b = b, a @@ -58,12 +58,12 @@ func Union[T comparable, Set ~map[T]struct{}](a, b Set) (union Set) { return union } -func GroupUnion[T comparable, Set ~map[T]struct{}](sets ...Set) (union Set) { +func GroupUnion[S ~Set[T], T comparable](sets ...S) (union S) { if len(sets) == 0 { return nil } - union = make(Set) + union = make(S) for _, set := range sets { maps.Copy(union, set) } @@ -71,8 +71,8 @@ func GroupUnion[T comparable, Set ~map[T]struct{}](sets ...Set) (union Set) { return union } -func Difference[T comparable, Set ~map[T]struct{}](a, b Set) (difference Set) { - difference = make(Set, len(a)) +func Difference[S ~Set[T], T comparable](a, b S) (difference S) { + difference = make(S, len(a)) for k := range a { if _, ok := b[k]; !ok { difference[k] = struct{}{} @@ -82,7 +82,7 @@ func Difference[T comparable, Set ~map[T]struct{}](a, b Set) (difference Set) { return } -func SymmetricDifference[T comparable, Set ~map[T]struct{}](a, b Set) (symmetricDifference Set) { +func SymmetricDifference[S ~Set[T], T comparable](a, b S) (symmetricDifference S) { if len(b) > len(a) { // swap a and b to ensure a is the larger set a, b = b, a @@ -101,13 +101,13 @@ func SymmetricDifference[T comparable, Set ~map[T]struct{}](a, b Set) (symmetric return symmetricDifference } -func GroupSymmetricDifference[T comparable, Set ~map[T]struct{}](sets ...Set) (symmetricDifference Set) { +func GroupSymmetricDifference[S ~Set[T], T comparable](sets ...S) (symmetricDifference S) { if len(sets) == 0 { return nil } - rejected := make(Set) - symmetricDifference = make(Set) + rejected := make(S) + symmetricDifference = make(S) for _, s := range sets { for k := range s { if _, ok := rejected[k]; ok { diff --git a/loset/set.go b/loset/set.go index 095dc325..5afe3780 100644 --- a/loset/set.go +++ b/loset/set.go @@ -24,7 +24,7 @@ func Collect[T comparable, Seq iter.Seq[T]](xs Seq) Set[T] { return set } -func ToSlice[T comparable, S ~Set[T]](set S) []T { +func ToSlice[S ~Set[T], T comparable](set S) []T { slice := make([]T, 0, len(set)) for x := range set { From 469fab4da95b3137bb8f450d80e2c3d8e351abe1 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Tue, 22 Jul 2025 09:43:16 +0300 Subject: [PATCH 25/44] lomap logic --- lomap/constructor.go | 18 ++++++++ lomap/logic.go | 97 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 lomap/logic.go diff --git a/lomap/constructor.go b/lomap/constructor.go index 12083c09..e4d7b214 100644 --- a/lomap/constructor.go +++ b/lomap/constructor.go @@ -49,6 +49,24 @@ func IMapKeys[K comparable, V any](keys []K, imap func(int, K) V) (m map[K]V) { return m } +func MapValues[K comparable, V any](values []V, fmap func(V) K) (m map[K]V) { + m = make(map[K]V, len(values)) + for _, v := range values { + m[fmap(v)] = v + } + + return m +} + +func IMapValues[K comparable, V any](values []V, imap func(int, V) K) (m map[K]V) { + m = make(map[K]V, len(values)) + for i, v := range values { + m[imap(i, v)] = v + } + + return m +} + func Fill[K comparable, V any](size int, get func(int) (K, V)) (m map[K]V) { if size < 0 { return nil diff --git a/lomap/logic.go b/lomap/logic.go new file mode 100644 index 00000000..e8133779 --- /dev/null +++ b/lomap/logic.go @@ -0,0 +1,97 @@ +package lomap + +func ContainsVal[Map ~map[K]V, K, V comparable](m Map, v V) bool { + for _, val := range m { + if val == v { + return true + } + } + + return false +} + +func WithoutVal[Map ~map[K]V, K, V comparable](m Map, v V) bool { + return !ContainsVal(m, v) +} + +func ContainsKey[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) bool { + for k := range m { + if pred(k) { + return true + } + } + + return false +} + +func WithoutKeyPred[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) bool { + return !ContainsKey(m, pred) +} + +func Contains[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) bool { + for _, v := range m { + if pred(v) { + return true + } + } + + return false +} + +func Without[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) bool { + return !Contains(m, pred) +} + +func KContains[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) bool { + for k, v := range m { + if pred(k, v) { + return true + } + } + + return false +} + +func KWithout[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) bool { + return !KContains(m, pred) +} + +func EveryVal[Map ~map[K]V, K, V comparable](m Map, v V) bool { + for _, val := range m { + if val != v { + return false + } + } + + return true +} + +func EveryKey[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) bool { + for k := range m { + if !pred(k) { + return false + } + } + + return true +} + +func Every[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) bool { + for _, v := range m { + if !pred(v) { + return false + } + } + + return true +} + +func KEvery[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) bool { + for k, v := range m { + if !pred(k, v) { + return false + } + } + + return true +} From 619f3bdf636d7d30c92267794674a35dc4700d8c Mon Sep 17 00:00:00 2001 From: sr9000 Date: Tue, 22 Jul 2025 10:03:16 +0300 Subject: [PATCH 26/44] loany fix small bug --- loany/func.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/loany/func.go b/loany/func.go index 793cb4f8..7c12e9d3 100644 --- a/loany/func.go +++ b/loany/func.go @@ -15,8 +15,12 @@ const ( func errCall(index int, value any, source argSource, fnType reflect.Type, kwType reflect.Type) error { typeName := fnType.In(index).Name() + if kwType == nil { + return fmt.Errorf("expected argument #%d to be of type `%s`, got `%#v`", index+1, typeName, value) + } + argName := kwType.Field(index).Name - return fmt.Errorf("expected argument #%d (%s) to be of type `%s`, got from %s `%#v`", index+1, argName, source, typeName, value) + return fmt.Errorf("expected argument #%d (%s) to be of type `%s`, got from %s `%#v`", index+1, argName, typeName, source, value) } // Call calls a function with the provided args and kwargs. @@ -79,7 +83,11 @@ func Call(fn any, args []any, kwargs any) ([]any, error) { tin := tfn.In(i) if !rv.CanConvert(tin) { - return nil, errCall(i, val, source, tfn, rvkw.Type()) + if kwargs == nil { + return nil, errCall(i, val, source, tfn, nil) + } else { + return nil, errCall(i, val, source, tfn, rvkw.Type()) + } } rvargs[i] = rv.Convert(tin) From bb71e89cf103290ce5b02d16fc8c7f63f986c2e9 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Tue, 22 Jul 2025 10:03:36 +0300 Subject: [PATCH 27/44] lomap find --- lomap/find.go | 41 +++++++++++++++++++++++++++++++++++++++++ lomap/map.go | 8 ++++++++ lomap/min_n_max.go | 22 ++++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 lomap/find.go create mode 100644 lomap/min_n_max.go diff --git a/lomap/find.go b/lomap/find.go new file mode 100644 index 00000000..f94d7707 --- /dev/null +++ b/lomap/find.go @@ -0,0 +1,41 @@ +package lomap + +func FindVal[Map ~map[K]V, K, V comparable](m Map, v V) (k K, ok bool) { + for k, val := range m { + if val == v { + return k, true + } + } + + return +} + +func FindKey[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) (k K, ok bool) { + for k := range m { + if pred(k) { + return k, true + } + } + + return +} + +func Find[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) (k K, ok bool) { + for k, v := range m { + if pred(v) { + return k, true + } + } + + return +} + +func KFind[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) (k K, ok bool) { + for k, v := range m { + if pred(k, v) { + return k, true + } + } + + return +} diff --git a/lomap/map.go b/lomap/map.go index 7865d005..9915103c 100644 --- a/lomap/map.go +++ b/lomap/map.go @@ -19,3 +19,11 @@ func Swap[Map ~map[K]V, K, V comparable](m Map) (swapped map[V]K) { return swapped } + +func Any[Map ~map[K]V, K comparable, V any](m Map) (k K, v V) { + for k, v = range m { + return k, v + } + + return +} diff --git a/lomap/min_n_max.go b/lomap/min_n_max.go new file mode 100644 index 00000000..3061e79f --- /dev/null +++ b/lomap/min_n_max.go @@ -0,0 +1,22 @@ +package lomap + +import ( + "cmp" + "github.com/samber/lo/lotup" +) + +func MinVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) V { + if len(m) == 0 { + var zero V + return zero + } + + res := lotup.Second(Any(m)) + for _, v := range m { + if v < res { + res = v + } + } + + return res +} From 2e3362751f884f20e5cf4f469b66f12332521c8f Mon Sep 17 00:00:00 2001 From: sr9000 Date: Thu, 24 Jul 2025 10:22:04 +0300 Subject: [PATCH 28/44] lomap min max --- lomap/min_n_max.go | 232 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 232 insertions(+) diff --git a/lomap/min_n_max.go b/lomap/min_n_max.go index 3061e79f..5579e9d7 100644 --- a/lomap/min_n_max.go +++ b/lomap/min_n_max.go @@ -5,6 +5,22 @@ import ( "github.com/samber/lo/lotup" ) +func MinKey[Map ~map[K]V, K cmp.Ordered, V any](m Map) K { + if len(m) == 0 { + var zero K + return zero + } + + res := lotup.First(Any(m)) + for k := range m { + if k < res { + res = k + } + } + + return res +} + func MinVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) V { if len(m) == 0 { var zero V @@ -20,3 +36,219 @@ func MinVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) V { return res } + +func ArgMinVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) K { + if len(m) == 0 { + var zero K + return zero + } + + key, res := Any(m) + for k, v := range m { + if v < res { + key, res = k, v + } + } + + return key +} + +func Min[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (V, R) { + if len(m) == 0 { + var zero V + var zeroR R + return zero, zeroR + } + + val := lotup.Second(Any(m)) + rank := fkey(val) + for _, v := range m { + r := fkey(v) + if r < rank { + val, rank = v, r + } + } + + return val, rank +} + +func ArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (K, R) { + if len(m) == 0 { + var zero K + var zeroR R + return zero, zeroR + } + + key, v := Any(m) + rank := fkey(v) + for k, v := range m { + r := fkey(v) + if r < rank { + key, rank = k, r + } + } + + return key, rank +} + +func KMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (V, R) { + if len(m) == 0 { + var zero V + var zeroR R + return zero, zeroR + } + + k, val := Any(m) + rank := fkey(k, val) + for k, v := range m { + r := fkey(k, v) + if r < rank { + val, rank = v, r + } + } + + return val, rank +} + +func KArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (K, R) { + if len(m) == 0 { + var zero K + var zeroR R + return zero, zeroR + } + + key, v := Any(m) + rank := fkey(key, v) + for k, v := range m { + r := fkey(k, v) + if r < rank { + key, rank = k, r + } + } + + return key, rank +} + +func MaxKey[Map ~map[K]V, K cmp.Ordered, V any](m Map) K { + if len(m) == 0 { + var zero K + return zero + } + + res := lotup.First(Any(m)) + for k := range m { + if k > res { + res = k + } + } + + return res +} + +func MaxVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) V { + if len(m) == 0 { + var zero V + return zero + } + + res := lotup.Second(Any(m)) + for _, v := range m { + if v > res { + res = v + } + } + + return res +} + +func ArgMaxVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) K { + if len(m) == 0 { + var zero K + return zero + } + + key, res := Any(m) + for k, v := range m { + if v > res { + key, res = k, v + } + } + + return key +} + +func Max[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (V, R) { + if len(m) == 0 { + var zero V + var zeroR R + return zero, zeroR + } + + val := lotup.Second(Any(m)) + rank := fkey(val) + for _, v := range m { + r := fkey(v) + if r > rank { + val, rank = v, r + } + } + + return val, rank +} + +func ArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (K, R) { + if len(m) == 0 { + var zero K + var zeroR R + return zero, zeroR + } + + key, v := Any(m) + rank := fkey(v) + for k, v := range m { + r := fkey(v) + if r > rank { + key, rank = k, r + } + } + + return key, rank +} + +func KMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (V, R) { + if len(m) == 0 { + var zero V + var zeroR R + return zero, zeroR + } + + k, val := Any(m) + rank := fkey(k, val) + for k, v := range m { + r := fkey(k, v) + if r > rank { + val, rank = v, r + } + } + + return val, rank +} + +func KArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (K, R) { + if len(m) == 0 { + var zero K + var zeroR R + return zero, zeroR + } + + key, v := Any(m) + rank := fkey(key, v) + for k, v := range m { + r := fkey(k, v) + if r > rank { + key, rank = k, r + } + } + + return key, rank +} From eeb05bd2815f58c6e4956c7d26ad9065e3fdeb87 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Thu, 24 Jul 2025 10:22:19 +0300 Subject: [PATCH 29/44] lotype cast primitives --- lotype/cast.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lotype/cast.go diff --git a/lotype/cast.go b/lotype/cast.go new file mode 100644 index 00000000..59a36cdb --- /dev/null +++ b/lotype/cast.go @@ -0,0 +1,15 @@ +package lotype + +type Number interface { + ~int | ~int8 | ~int16 | ~int32 | ~int64 | + ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | + ~float32 | ~float64 +} + +func CastNum[R, T Number](x T) R { + return R(x) +} + +func CastStr[R, T ~string](x T) R { + return R(x) +} From 59e737427edbe0d3dc9ade7617ff243184ca0520 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Thu, 24 Jul 2025 12:13:04 +0300 Subject: [PATCH 30/44] loslice rename args --- loslice/min_n_max.go | 287 ++++++++++++++++++++++++++----------------- 1 file changed, 171 insertions(+), 116 deletions(-) diff --git a/loslice/min_n_max.go b/loslice/min_n_max.go index 7791fc0c..31f1ce91 100644 --- a/loslice/min_n_max.go +++ b/loslice/min_n_max.go @@ -33,62 +33,62 @@ func ArgMinVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { return index } -func Min[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { +func Min[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (t T, r R) { if len(xs) == 0 { return } - t, k = xs[0], fkey(xs[0]) + t, r = xs[0], frank(xs[0]) for _, x := range xs[1:] { - if v := fkey(x); v < k { - t, k = x, v + if v := frank(x); v < r { + t, r = x, v } } return } -func ArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { +func ArgMin[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (index int, r R) { if len(xs) == 0 { - return 0, k + return 0, r } index = 0 - k = fkey(xs[0]) + r = frank(xs[0]) for i, x := range xs[1:] { - if v := fkey(x); v < k { - index, k = i+1, v // +1 because we skipped the first element + if v := frank(x); v < r { + index, r = i+1, v // +1 because we skipped the first element } } return } -func IMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (t T, k K) { +func IMin[Slice ~[]T, T any, R cmp.Ordered](xs Slice, irank func(int, T) R) (t T, r R) { if len(xs) == 0 { return } - t, k = xs[0], ikey(0, xs[0]) + t, r = xs[0], irank(0, xs[0]) for i, x := range xs[1:] { - if v := ikey(i+1, x); v < k { // +1 because we skipped the first element - t, k = x, v + if v := irank(i+1, x); v < r { // +1 because we skipped the first element + t, r = x, v } } return } -func IArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { +func IArgMin[Slice ~[]T, T any, R cmp.Ordered](xs Slice, irank func(int, T) R) (index int, r R) { if len(xs) == 0 { - return 0, k + return 0, r } index = 0 - k = ikey(0, xs[0]) + r = irank(0, xs[0]) for i, x := range xs[1:] { - if v := ikey(i+1, x); v < k { // +1 because we skipped the first element - index, k = i+1, v + if v := irank(i+1, x); v < r { // +1 because we skipped the first element + index, r = i+1, v } } @@ -128,64 +128,64 @@ func RArgMinVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { return index } -func RMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { +func RMin[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (t T, r R) { if len(xs) == 0 { return } last := len(xs) - 1 - t, k = xs[last], fkey(xs[last]) + t, r = xs[last], frank(xs[last]) for i := last - 1; i >= 0; i-- { - if v := fkey(xs[i]); v < k { - t, k = xs[i], v + if v := frank(xs[i]); v < r { + t, r = xs[i], v } } return } -func RArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { +func RArgMin[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (index int, r R) { if len(xs) == 0 { return } last := len(xs) - 1 - index, k = last, fkey(xs[last]) + index, r = last, frank(xs[last]) for i := last - 1; i >= 0; i-- { - if v := fkey(xs[i]); v < k { - index, k = i, v + if v := frank(xs[i]); v < r { + index, r = i, v } } return } -func IRMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(int, T) K) (t T, k K) { +func IRMin[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(int, T) R) (t T, r R) { if len(xs) == 0 { return } last := len(xs) - 1 - t, k = xs[last], fkey(last, xs[last]) + t, r = xs[last], frank(last, xs[last]) for i := last - 1; i >= 0; i-- { - if v := fkey(i, xs[i]); v < k { - t, k = xs[i], v + if v := frank(i, xs[i]); v < r { + t, r = xs[i], v } } return } -func IRArgMin[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { +func IRArgMin[Slice ~[]T, T any, R cmp.Ordered](xs Slice, irank func(int, T) R) (index int, r R) { if len(xs) == 0 { return } last := len(xs) - 1 - index, k = last, ikey(last, xs[last]) + index, r = last, irank(last, xs[last]) for i := last - 1; i >= 0; i-- { - if v := ikey(i, xs[i]); v < k { - index, k = i, v + if v := irank(i, xs[i]); v < r { + index, r = i, v } } @@ -197,12 +197,14 @@ func MaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) T { var zero T return zero } + res := xs[0] for _, x := range xs[1:] { if x > res { res = x } } + return res } @@ -210,66 +212,76 @@ func ArgMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { if len(xs) == 0 { return 0 } + index := 0 for i, x := range xs[1:] { if x > xs[index] { index = i + 1 } } + return index } -func Max[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { +func Max[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (t T, r R) { if len(xs) == 0 { return } - t, k = xs[0], fkey(xs[0]) + + t, r = xs[0], frank(xs[0]) for _, x := range xs[1:] { - if v := fkey(x); v > k { - t, k = x, v + if v := frank(x); v > r { + t, r = x, v } } + return } -func ArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { +func ArgMax[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (index int, r R) { if len(xs) == 0 { - return 0, k + return 0, r } + index = 0 - k = fkey(xs[0]) + r = frank(xs[0]) for i, x := range xs[1:] { - if v := fkey(x); v > k { - index, k = i+1, v + if v := frank(x); v > r { + index, r = i+1, v } } + return } -func IMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (t T, k K) { +func IMax[Slice ~[]T, T any, R cmp.Ordered](xs Slice, irank func(int, T) R) (t T, r R) { if len(xs) == 0 { return } - t, k = xs[0], ikey(0, xs[0]) + + t, r = xs[0], irank(0, xs[0]) for i, x := range xs[1:] { - if v := ikey(i+1, x); v > k { - t, k = x, v + if v := irank(i+1, x); v > r { + t, r = x, v } } + return } -func IArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { +func IArgMax[Slice ~[]T, T any, R cmp.Ordered](xs Slice, irank func(int, T) R) (index int, r R) { if len(xs) == 0 { - return 0, k + return 0, r } + index = 0 - k = ikey(0, xs[0]) + r = irank(0, xs[0]) for i, x := range xs[1:] { - if v := ikey(i+1, x); v > k { - index, k = i+1, v + if v := irank(i+1, x); v > r { + index, r = i+1, v } } + return } @@ -278,6 +290,7 @@ func RMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) T { var zero T return zero } + last := len(xs) - 1 res := xs[last] for i := last - 1; i >= 0; i-- { @@ -285,6 +298,7 @@ func RMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) T { res = x } } + return res } @@ -292,6 +306,7 @@ func RArgMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { if len(xs) == 0 { return 0 } + last := len(xs) - 1 index := last for i := last - 1; i >= 0; i-- { @@ -299,146 +314,165 @@ func RArgMaxVal[Slice ~[]T, T cmp.Ordered](xs Slice) int { index = i } } + return index } -func RMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (t T, k K) { +func RMax[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (t T, r R) { if len(xs) == 0 { return } + last := len(xs) - 1 - t, k = xs[last], fkey(xs[last]) + t, r = xs[last], frank(xs[last]) for i := last - 1; i >= 0; i-- { - if v := fkey(xs[i]); v > k { - t, k = xs[i], v + if v := frank(xs[i]); v > r { + t, r = xs[i], v } } + return } -func RArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, fkey func(T) K) (index int, k K) { +func RArgMax[Slice ~[]T, T any, R cmp.Ordered](xs Slice, frank func(T) R) (index int, r R) { if len(xs) == 0 { return } + last := len(xs) - 1 - index, k = last, fkey(xs[last]) + index, r = last, frank(xs[last]) for i := last - 1; i >= 0; i-- { - if v := fkey(xs[i]); v > k { - index, k = i, v + if v := frank(xs[i]); v > r { + index, r = i, v } } + return } -func IRMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (t T, k K) { +func IRMax[Slice ~[]T, T any, R cmp.Ordered](xs Slice, irank func(int, T) R) (t T, r R) { if len(xs) == 0 { return } + last := len(xs) - 1 - t, k = xs[last], ikey(last, xs[last]) + t, r = xs[last], irank(last, xs[last]) for i := last - 1; i >= 0; i-- { - if v := ikey(i, xs[i]); v > k { - t, k = xs[i], v + if v := irank(i, xs[i]); v > r { + t, r = xs[i], v } } + return } -func IRArgMax[Slice ~[]T, T any, K cmp.Ordered](xs Slice, ikey func(int, T) K) (index int, k K) { +func IRArgMax[Slice ~[]T, T any, R cmp.Ordered](xs Slice, irank func(int, T) R) (index int, r R) { if len(xs) == 0 { return } + last := len(xs) - 1 - index, k = last, ikey(last, xs[last]) + index, r = last, irank(last, xs[last]) for i := last - 1; i >= 0; i-- { - if v := ikey(i, xs[i]); v > k { - index, k = i, v + if v := irank(i, xs[i]); v > r { + index, r = i, v } } + return } -// MinCmp forward min using cmpFn -func MinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { +// MinCmp forward min using fcmp +func MinCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) T { if len(xs) == 0 { var zero T return zero } + res := xs[0] for _, x := range xs[1:] { - if cmpFn(x, res) < 0 { + if fcmp(x, res) < 0 { res = x } } + return res } -// MaxCmp forward max using cmpFn -func MaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { +// MaxCmp forward max using fcmp +func MaxCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) T { if len(xs) == 0 { var zero T return zero } + res := xs[0] for _, x := range xs[1:] { - if cmpFn(x, res) > 0 { + if fcmp(x, res) > 0 { res = x } } + return res } -// RMinCmp reverse min using cmpFn -func RMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { +// RMinCmp reverse min using fcmp +func RMinCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) T { if len(xs) == 0 { var zero T return zero } + last := len(xs) - 1 res := xs[last] for i := last - 1; i >= 0; i-- { - if cmpFn(xs[i], res) < 0 { + if fcmp(xs[i], res) < 0 { res = xs[i] } } + return res } -// RMaxCmp reverse max using cmpFn -func RMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) T { +// RMaxCmp reverse max using fcmp +func RMaxCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) T { if len(xs) == 0 { var zero T return zero } + last := len(xs) - 1 res := xs[last] for i := last - 1; i >= 0; i-- { - if cmpFn(xs[i], res) > 0 { + if fcmp(xs[i], res) > 0 { res = xs[i] } } + return res } -// IMinCmp forward min using index-aware cmpFn -func IMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { +// IMinCmp forward min using index-aware icmp +func IMinCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero } + index := 0 res := xs[0] for i, x := range xs[1:] { - if cmpFn(i+1, index, x, res) < 0 { + if icmp(i+1, index, x, res) < 0 { index = i + 1 // +1 because we skipped the first element res = x } } + return res } -// IMaxCmp forward max using index-aware cmpFn -func IMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { +// IMaxCmp forward max using index-aware icmp +func IMaxCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero @@ -447,160 +481,181 @@ func IMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { index := 0 res := xs[0] for i, x := range xs[1:] { - if cmpFn(i+1, index, x, res) > 0 { + if icmp(i+1, index, x, res) > 0 { index = i + 1 // +1 because we skipped the first element res = x } } + return res } -// IRMinCmp reverse min using index-aware cmpFn -func IRMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { +// IRMinCmp reverse min using index-aware icmp +func IRMinCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero } + index := len(xs) - 1 res := xs[index] for i := index - 1; i >= 0; i-- { - if cmpFn(i, index, xs[i], res) < 0 { + if icmp(i, index, xs[i], res) < 0 { index = i res = xs[i] } } + return res } -// IRMaxCmp reverse max using index-aware cmpFn -func IRMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) T { +// IRMaxCmp reverse max using index-aware icmp +func IRMaxCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) T { if len(xs) == 0 { var zero T return zero } + index := len(xs) - 1 res := xs[index] for i := index - 1; i >= 0; i-- { - if cmpFn(i, index, xs[i], res) > 0 { + if icmp(i, index, xs[i], res) > 0 { index = i res = xs[i] } } + return res } -// ArgMinCmp forward min index using cmpFn -func ArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { +// ArgMinCmp forward min index using fcmp +func ArgMinCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) int { if len(xs) == 0 { return 0 } + index := 0 for i, x := range xs[1:] { - if cmpFn(x, xs[index]) < 0 { + if fcmp(x, xs[index]) < 0 { index = i + 1 } } + return index } -// ArgMaxCmp forward max index using cmpFn -func ArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { +// ArgMaxCmp forward max index using fcmp +func ArgMaxCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) int { if len(xs) == 0 { return 0 } + index := 0 for i, x := range xs[1:] { - if cmpFn(x, xs[index]) > 0 { + if fcmp(x, xs[index]) > 0 { index = i + 1 } } + return index } -// RArgMinCmp reverse min index using cmpFn -func RArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { +// RArgMinCmp reverse min index using fcmp +func RArgMinCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) int { if len(xs) == 0 { return 0 } + last := len(xs) - 1 index := last for i := last - 1; i >= 0; i-- { - if cmpFn(xs[i], xs[index]) < 0 { + if fcmp(xs[i], xs[index]) < 0 { index = i } } + return index } -// RArgMaxCmp reverse max index using cmpFn -func RArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(a, b T) int) int { +// RArgMaxCmp reverse max index using fcmp +func RArgMaxCmp[Slice ~[]T, T any](xs Slice, fcmp func(a, b T) int) int { if len(xs) == 0 { return 0 } + last := len(xs) - 1 index := last for i := last - 1; i >= 0; i-- { - if cmpFn(xs[i], xs[index]) > 0 { + if fcmp(xs[i], xs[index]) > 0 { index = i } } + return index } -// IArgMinCmp forward min index using index-aware cmpFn -func IArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { +// IArgMinCmp forward min index using index-aware icmp +func IArgMinCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } + index := 0 for i, x := range xs[1:] { - if cmpFn(i+1, index, x, xs[index]) < 0 { + if icmp(i+1, index, x, xs[index]) < 0 { index = i + 1 } } + return index } -// IArgMaxCmp forward max index using index-aware cmpFn -func IArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { +// IArgMaxCmp forward max index using index-aware icmp +func IArgMaxCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } + index := 0 for i, x := range xs[1:] { - if cmpFn(i+1, index, x, xs[index]) > 0 { + if icmp(i+1, index, x, xs[index]) > 0 { index = i + 1 } } + return index } -// IRArgMinCmp reverse min index using index-aware cmpFn -func IRArgMinCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { +// IRArgMinCmp reverse min index using index-aware icmp +func IRArgMinCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } + last := len(xs) - 1 index := last for i := last - 1; i >= 0; i-- { - if cmpFn(i, index, xs[i], xs[index]) < 0 { + if icmp(i, index, xs[i], xs[index]) < 0 { index = i } } + return index } -// IRArgMaxCmp reverse max index using index-aware cmpFn -func IRArgMaxCmp[Slice ~[]T, T any](xs Slice, cmpFn func(i, j int, a, b T) int) int { +// IRArgMaxCmp reverse max index using index-aware icmp +func IRArgMaxCmp[Slice ~[]T, T any](xs Slice, icmp func(i, j int, a, b T) int) int { if len(xs) == 0 { return 0 } + last := len(xs) - 1 index := last for i := last - 1; i >= 0; i-- { - if cmpFn(i, index, xs[i], xs[index]) > 0 { + if icmp(i, index, xs[i], xs[index]) > 0 { index = i } } + return index } From a269e28a92fa73807ac4b0d2a874f3597f0cb773 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Thu, 24 Jul 2025 12:13:15 +0300 Subject: [PATCH 31/44] lomap grouping --- lomap/clustering.go | 208 ++++++++++++++++++++++++++++++++++++++++++++ lomap/filter.go | 11 +++ lomap/grouping.go | 93 ++++++++++++++++++++ lomap/min_n_max.go | 48 +++++----- 4 files changed, 336 insertions(+), 24 deletions(-) create mode 100644 lomap/clustering.go create mode 100644 lomap/grouping.go diff --git a/lomap/clustering.go b/lomap/clustering.go new file mode 100644 index 00000000..b65b8a7d --- /dev/null +++ b/lomap/clustering.go @@ -0,0 +1,208 @@ +package lomap + +func ClusterValues[Map ~map[K]V, C, K comparable, V any](m Map, fcluster func(V) C) (clusters map[C]Map) { + clusters = make(map[C]Map) + + for k, v := range m { + c := fcluster(v) + if _, exists := clusters[c]; !exists { + clusters[c] = make(Map) + } + + clusters[c][k] = v + } + + return clusters +} + +func ClusterKeys[Map ~map[K]V, C, K comparable, V any](m Map, fcluster func(K) C) (clusters map[C]Map) { + clusters = make(map[C]Map) + + for k, v := range m { + c := fcluster(k) + if _, exists := clusters[c]; !exists { + clusters[c] = make(Map) + } + + clusters[c][k] = v + } + + return clusters +} + +func ClusterPairs[Map ~map[K]V, C, K comparable, V any](m Map, fcluster func(K, V) C) (clusters map[C]Map) { + clusters = make(map[C]Map) + + for k, v := range m { + c := fcluster(k, v) + if _, exists := clusters[c]; !exists { + clusters[c] = make(Map) + } + + clusters[c][k] = v + } + + return clusters +} + +func FilterClusterValues[Map ~map[K]V, C, K comparable, V any](m Map, fcluster func(V) (C, bool)) (clusters map[C]Map) { + clusters = make(map[C]Map) + + for k, v := range m { + c, ok := fcluster(v) + if !ok { + continue + } + + if _, exists := clusters[c]; !exists { + clusters[c] = make(Map) + } + + clusters[c][k] = v + } + + return clusters +} + +func FilterClusterKeys[Map ~map[K]V, C, K comparable, V any](m Map, fcluster func(K) (C, bool)) (clusters map[C]Map) { + clusters = make(map[C]Map) + + for k, v := range m { + c, ok := fcluster(k) + if !ok { + continue + } + + if _, exists := clusters[c]; !exists { + clusters[c] = make(Map) + } + + clusters[c][k] = v + } + + return clusters +} + +func FilterClusterPairs[Map ~map[K]V, C, K comparable, V any](m Map, fcluster func(K, V) (C, bool)) (clusters map[C]Map) { + clusters = make(map[C]Map) + + for k, v := range m { + c, ok := fcluster(k, v) + if !ok { + continue + } + + if _, exists := clusters[c]; !exists { + clusters[c] = make(Map) + } + + clusters[c][k] = v + } + + return clusters +} + +func FilterMapClusterValues[Map ~map[K]V, C, K comparable, V, R any](m Map, fmapcluster func(V) (C, R, bool)) (clusters map[C]map[K][]R) { + clusters = make(map[C]map[K][]R) + + for k, v := range m { + c, r, ok := fmapcluster(v) + if !ok { + continue + } + + if _, exists := clusters[c]; !exists { + clusters[c] = make(map[K][]R) + } + + clusters[c][k] = append(clusters[c][k], r) + } + + return clusters +} + +func FilterMapClusterKeys[Map ~map[K]V, C, K comparable, V, R any](m Map, fmapcluster func(K) (C, R, bool)) (clusters map[C]map[K][]R) { + clusters = make(map[C]map[K][]R) + + for k := range m { + c, r, ok := fmapcluster(k) + if !ok { + continue + } + + if _, exists := clusters[c]; !exists { + clusters[c] = make(map[K][]R) + } + + clusters[c][k] = append(clusters[c][k], r) + } + + return clusters +} + +func FilterMapClusterPairs[Map ~map[K]V, C, K comparable, V, R any](m Map, fmapcluster func(K, V) (C, R, bool)) (clusters map[C]map[K][]R) { + clusters = make(map[C]map[K][]R) + + for k, v := range m { + c, r, ok := fmapcluster(k, v) + if !ok { + continue + } + + if _, exists := clusters[c]; !exists { + clusters[c] = make(map[K][]R) + } + + clusters[c][k] = append(clusters[c][k], r) + } + + return clusters +} + +func MapClusterValues[Map ~map[K]V, C, K comparable, V, R any](m Map, fmapcluster func(V) (C, R)) (clusters map[C]map[K][]R) { + clusters = make(map[C]map[K][]R) + + for k, v := range m { + c, r := fmapcluster(v) + + if _, exists := clusters[c]; !exists { + clusters[c] = make(map[K][]R) + } + + clusters[c][k] = append(clusters[c][k], r) + } + + return clusters +} + +func MapClusterKeys[Map ~map[K]V, C, K comparable, V, R any](m Map, fmapcluster func(K) (C, R)) (clusters map[C]map[K][]R) { + clusters = make(map[C]map[K][]R) + + for k := range m { + c, r := fmapcluster(k) + + if _, exists := clusters[c]; !exists { + clusters[c] = make(map[K][]R) + } + + clusters[c][k] = append(clusters[c][k], r) + } + + return clusters +} + +func MapClusterPairs[Map ~map[K]V, C, K comparable, V, R any](m Map, fmapcluster func(K, V) (C, R)) (clusters map[C]map[K][]R) { + clusters = make(map[C]map[K][]R) + + for k, v := range m { + c, r := fmapcluster(k, v) + + if _, exists := clusters[c]; !exists { + clusters[c] = make(map[K][]R) + } + + clusters[c][k] = append(clusters[c][k], r) + } + + return clusters +} diff --git a/lomap/filter.go b/lomap/filter.go index 87d12502..0dab6ae8 100644 --- a/lomap/filter.go +++ b/lomap/filter.go @@ -1,5 +1,16 @@ package lomap +func RejectVal[Map ~map[K]V, K, V comparable](m Map, val V) (filtered Map) { + filtered = make(Map, len(m)) + for k, v := range m { + if v != val { + filtered[k] = v + } + } + + return filtered +} + func FilterKeys[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) (filtered Map) { filtered = make(Map, len(m)) for k, v := range m { diff --git a/lomap/grouping.go b/lomap/grouping.go new file mode 100644 index 00000000..59f116ce --- /dev/null +++ b/lomap/grouping.go @@ -0,0 +1,93 @@ +package lomap + +func Group[Slice ~[]T, T any, K comparable](xs Slice, fkey func(T) K) map[K]Slice { + m := make(map[K]Slice, len(xs)) + + for _, x := range xs { + k := fkey(x) + m[k] = append(m[k], x) + } + + return m +} + +func IGroup[Slice ~[]T, T any, K comparable](xs Slice, ikey func(int, T) K) map[K]Slice { + m := make(map[K]Slice, len(xs)) + + for i, x := range xs { + k := ikey(i, x) + m[k] = append(m[k], x) + } + + return m +} + +func GroupMap[Slice ~[]T, T, V any, K comparable](xs Slice, fmap func(T) (K, V)) map[K][]V { + m := make(map[K][]V, len(xs)) + + for _, x := range xs { + k, v := fmap(x) + m[k] = append(m[k], v) + } + + return m +} + +func IGroupMap[Slice ~[]T, T, V any, K comparable](xs Slice, ifmap func(int, T) (K, V)) map[K][]V { + m := make(map[K][]V, len(xs)) + + for i, x := range xs { + k, v := ifmap(i, x) + m[k] = append(m[k], v) + } + + return m +} + +func GroupFilter[Slice ~[]T, T any, K comparable](xs Slice, fkey func(T) (K, bool)) map[K]Slice { + m := make(map[K]Slice, len(xs)) + + for _, x := range xs { + if k, ok := fkey(x); ok { + m[k] = append(m[k], x) + } + } + + return m +} + +func IGroupFilter[Slice ~[]T, T any, K comparable](xs Slice, ifkey func(int, T) (K, bool)) map[K]Slice { + m := make(map[K]Slice, len(xs)) + + for i, x := range xs { + if k, ok := ifkey(i, x); ok { + m[k] = append(m[k], x) + } + } + + return m +} + +func GroupFilterMap[Slice ~[]T, T, V any, K comparable](xs Slice, fmap func(T) (K, V, bool)) map[K][]V { + m := make(map[K][]V, len(xs)) + + for _, x := range xs { + if k, v, ok := fmap(x); ok { + m[k] = append(m[k], v) + } + } + + return m +} + +func IGroupFilterMap[Slice ~[]T, T, V any, K comparable](xs Slice, ifmap func(int, T) (K, V, bool)) map[K][]V { + m := make(map[K][]V, len(xs)) + + for i, x := range xs { + if k, v, ok := ifmap(i, x); ok { + m[k] = append(m[k], v) + } + } + + return m +} diff --git a/lomap/min_n_max.go b/lomap/min_n_max.go index 5579e9d7..d9576462 100644 --- a/lomap/min_n_max.go +++ b/lomap/min_n_max.go @@ -53,7 +53,7 @@ func ArgMinVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) K { return key } -func Min[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (V, R) { +func Min[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, frank func(V) R) (V, R) { if len(m) == 0 { var zero V var zeroR R @@ -61,9 +61,9 @@ func Min[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R } val := lotup.Second(Any(m)) - rank := fkey(val) + rank := frank(val) for _, v := range m { - r := fkey(v) + r := frank(v) if r < rank { val, rank = v, r } @@ -72,7 +72,7 @@ func Min[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R return val, rank } -func ArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (K, R) { +func ArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, frank func(V) R) (K, R) { if len(m) == 0 { var zero K var zeroR R @@ -80,9 +80,9 @@ func ArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V } key, v := Any(m) - rank := fkey(v) + rank := frank(v) for k, v := range m { - r := fkey(v) + r := frank(v) if r < rank { key, rank = k, r } @@ -91,7 +91,7 @@ func ArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V return key, rank } -func KMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (V, R) { +func KMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, krank func(K, V) R) (V, R) { if len(m) == 0 { var zero V var zeroR R @@ -99,9 +99,9 @@ func KMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, } k, val := Any(m) - rank := fkey(k, val) + rank := krank(k, val) for k, v := range m { - r := fkey(k, v) + r := krank(k, v) if r < rank { val, rank = v, r } @@ -110,7 +110,7 @@ func KMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, return val, rank } -func KArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (K, R) { +func KArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, krank func(K, V) R) (K, R) { if len(m) == 0 { var zero K var zeroR R @@ -118,9 +118,9 @@ func KArgMin[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func( } key, v := Any(m) - rank := fkey(key, v) + rank := krank(key, v) for k, v := range m { - r := fkey(k, v) + r := krank(k, v) if r < rank { key, rank = k, r } @@ -177,7 +177,7 @@ func ArgMaxVal[Map ~map[K]V, K comparable, V cmp.Ordered](m Map) K { return key } -func Max[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (V, R) { +func Max[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, frank func(V) R) (V, R) { if len(m) == 0 { var zero V var zeroR R @@ -185,9 +185,9 @@ func Max[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R } val := lotup.Second(Any(m)) - rank := fkey(val) + rank := frank(val) for _, v := range m { - r := fkey(v) + r := frank(v) if r > rank { val, rank = v, r } @@ -196,7 +196,7 @@ func Max[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R return val, rank } -func ArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V) R) (K, R) { +func ArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, frank func(V) R) (K, R) { if len(m) == 0 { var zero K var zeroR R @@ -204,9 +204,9 @@ func ArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V } key, v := Any(m) - rank := fkey(v) + rank := frank(v) for k, v := range m { - r := fkey(v) + r := frank(v) if r > rank { key, rank = k, r } @@ -215,7 +215,7 @@ func ArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(V return key, rank } -func KMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (V, R) { +func KMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, krank func(K, V) R) (V, R) { if len(m) == 0 { var zero V var zeroR R @@ -223,9 +223,9 @@ func KMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, } k, val := Any(m) - rank := fkey(k, val) + rank := krank(k, val) for k, v := range m { - r := fkey(k, v) + r := krank(k, v) if r > rank { val, rank = v, r } @@ -234,7 +234,7 @@ func KMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, return val, rank } -func KArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func(K, V) R) (K, R) { +func KArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, krank func(K, V) R) (K, R) { if len(m) == 0 { var zero K var zeroR R @@ -242,9 +242,9 @@ func KArgMax[Map ~map[K]V, K comparable, V any, R cmp.Ordered](m Map, fkey func( } key, v := Any(m) - rank := fkey(key, v) + rank := krank(key, v) for k, v := range m { - r := fkey(k, v) + r := krank(k, v) if r > rank { key, rank = k, r } From a93532b83ed1332a9fe96ae1280a2869d14cb3ca Mon Sep 17 00:00:00 2001 From: sr9000 Date: Thu, 24 Jul 2025 12:13:34 +0300 Subject: [PATCH 32/44] mutmap filter --- mutmap/filter.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 mutmap/filter.go diff --git a/mutmap/filter.go b/mutmap/filter.go new file mode 100644 index 00000000..7a8e3dc2 --- /dev/null +++ b/mutmap/filter.go @@ -0,0 +1,37 @@ +package mutmap + +// In-place reject: removes all entries with value == val. +func RejectVal[Map ~map[K]V, K, V comparable](m Map, val V) { + for k, v := range m { + if v == val { + delete(m, k) + } + } +} + +// In-place filter: keeps only keys for which pred returns true. +func FilterKeys[Map ~map[K]V, K comparable, V any](m Map, pred func(K) bool) { + for k := range m { + if !pred(k) { + delete(m, k) + } + } +} + +// In-place filter: keeps only values for which pred returns true. +func FilterValues[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool) { + for k, v := range m { + if !pred(v) { + delete(m, k) + } + } +} + +// In-place filter: keeps only pairs for which pred returns true. +func FilterPairs[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) { + for k, v := range m { + if !pred(k, v) { + delete(m, k) + } + } +} From 6bb5a7a0ddd8ea454cb6c465645cc7c90bf505ce Mon Sep 17 00:00:00 2001 From: sr9000 Date: Thu, 24 Jul 2025 12:55:25 +0300 Subject: [PATCH 33/44] loslice preserve nils --- loslice/arithm.go | 143 ++++++++++++++++++++++++++++++++++++++++++++++ loslice/filter.go | 15 ++++- loslice/find.go | 27 ++++++++- loslice/monad.go | 43 ++++++++++++-- loslice/split.go | 8 +++ loslice/table.go | 23 +++++--- loslice/uniq.go | 4 ++ 7 files changed, 244 insertions(+), 19 deletions(-) create mode 100644 loslice/arithm.go diff --git a/loslice/arithm.go b/loslice/arithm.go new file mode 100644 index 00000000..94d86a4f --- /dev/null +++ b/loslice/arithm.go @@ -0,0 +1,143 @@ +package loslice + +type Number interface { + ~int | ~int8 | ~int16 | ~int32 | ~int64 | + ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | + ~float32 | ~float64 | + ~complex64 | ~complex128 +} + +func Sum[Slice ~[]T, T Number](xs Slice) (sum T) { + for _, x := range xs { + sum += x + } + + return sum +} + +func Product[Slice ~[]T, T Number](xs Slice) (prod T) { + prod = 1 + for _, x := range xs { + prod *= x + } + + return prod +} + +func FilterSum[Slice ~[]T, T Number](xs Slice, pred func(T) bool) (sum T) { + for _, x := range xs { + if pred(x) { + sum += x + } + } + + return sum +} + +func FilterProduct[Slice ~[]T, T Number](xs Slice, pred func(T) bool) (prod T) { + prod = 1 + for _, x := range xs { + if pred(x) { + prod *= x + } + } + + return prod +} + +func IFilterSum[Slice ~[]T, T Number](xs Slice, ipred func(int, T) bool) (sum T) { + for i, x := range xs { + if ipred(i, x) { + sum += x + } + } + + return sum +} + +func IFilterProduct[Slice ~[]T, T Number](xs Slice, ipred func(int, T) bool) (prod T) { + prod = 1 + for i, x := range xs { + if ipred(i, x) { + prod *= x + } + } + + return prod +} + +func MapSum[Slice ~[]T, T any, V Number](xs Slice, fmap func(T) V) (sum V) { + for _, x := range xs { + sum += fmap(x) + } + + return sum +} + +func MapProduct[Slice ~[]T, T any, V Number](xs Slice, fmap func(T) V) (prod V) { + prod = 1 + for _, x := range xs { + prod *= fmap(x) + } + + return prod +} + +func IMapSum[Slice ~[]T, T any, V Number](xs Slice, imap func(int, T) V) (sum V) { + for i, x := range xs { + sum += imap(i, x) + } + + return sum +} + +func IMapProduct[Slice ~[]T, T any, V Number](xs Slice, imap func(int, T) V) (prod V) { + prod = 1 + for i, x := range xs { + prod *= imap(i, x) + } + + return prod +} + +func FilterMapSum[Slice ~[]T, T any, V Number](xs Slice, fmap func(T) (V, bool)) (sum V) { + for _, x := range xs { + if v, ok := fmap(x); ok { + sum += v + } + } + + return sum +} + +func FilterMapProduct[Slice ~[]T, T any, V Number](xs Slice, fmap func(T) (V, bool)) (prod V) { + prod = 1 + for _, x := range xs { + if v, ok := fmap(x); ok { + prod *= v + } + } + + return prod +} + +func IFilterMapSum[Slice ~[]T, T any, V Number](xs Slice, imap func(int, T) (V, bool)) (sum V) { + for i, x := range xs { + if v, ok := imap(i, x); ok { + sum += v + } + } + + return sum +} + +func IFilterMapProduct[Slice ~[]T, T any, V Number](xs Slice, imap func(int, T) (V, bool)) (prod V) { + prod = 1 + for i, x := range xs { + if v, ok := imap(i, x); ok { + prod *= v + } + } + + return prod +} diff --git a/loslice/filter.go b/loslice/filter.go index b7891711..a15c61be 100644 --- a/loslice/filter.go +++ b/loslice/filter.go @@ -5,8 +5,11 @@ func RejectVal[Slice ~[]T, T comparable](xs Slice, val T) (result Slice) { } func RejectValEx[Slice ~[]T, T comparable](mode AllocateMode, xs Slice, val T) (result Slice) { - result = allocateCapacity[Slice](mode, len(xs), func() int { return len(xs) - CountVal(xs, val) }) + if xs == nil { + return nil + } + result = allocateCapacity[Slice](mode, len(xs), func() int { return len(xs) - CountVal(xs, val) }) return rejectVal(xs, val, result) } @@ -27,8 +30,11 @@ func Filter[Slice ~[]T, T any](xs Slice, pred func(item T) bool) Slice { // FilterEx iterates over elements not collection, returning an array not all elements predicate returns truthy for. func FilterEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, pred func(item T) bool) Slice { - result := allocateCapacity[Slice](mode, len(xs), func() int { return Count(xs, pred) }) + if xs == nil { + return nil + } + result := allocateCapacity[Slice](mode, len(xs), func() int { return Count(xs, pred) }) return filter(xs, pred, result) } @@ -49,8 +55,11 @@ func IFilter[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) Slice { // IFilterEx iterates over elements not collection, returning an array not all elements predicate returns truthy for. func IFilterEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, T) bool) Slice { - result := allocateCapacity[Slice](mode, len(xs), func() int { return ICount(xs, ipred) }) + if xs == nil { + return nil + } + result := allocateCapacity[Slice](mode, len(xs), func() int { return ICount(xs, ipred) }) return ifilter(xs, ipred, result) } diff --git a/loslice/find.go b/loslice/find.go index 577eacb7..857f0c59 100644 --- a/loslice/find.go +++ b/loslice/find.go @@ -63,8 +63,11 @@ func IndicesVal[Slice ~[]T, T comparable](xs Slice, val T) (indices []int) { } func IndicesValEx[Slice ~[]T, T comparable](mode AllocateMode, xs Slice, val T) (indices []int) { - indices = allocateCapacity[[]int](mode, len(xs), func() int { return CountVal(xs, val) }) + if xs == nil { + return nil + } + indices = allocateCapacity[[]int](mode, len(xs), func() int { return CountVal(xs, val) }) return indicesVal(xs, val, indices) } @@ -99,8 +102,11 @@ func Indices[Slice ~[]T, T any](xs Slice, pred func(item T) bool) (indices []int // IndicesEx returns indices of elements matching the predicate, with allocation mode. func IndicesEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, pred func(item T) bool) (indices []int) { - indices = allocateCapacity[[]int](mode, len(xs), func() int { return Count(xs, pred) }) + if xs == nil { + return nil + } + indices = allocateCapacity[[]int](mode, len(xs), func() int { return Count(xs, pred) }) return indicesImpl(xs, pred, indices) } @@ -136,8 +142,11 @@ func IIndices[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (indices []i // IIndicesEx returns indices of elements matching the indexed predicate, with allocation mode. func IIndicesEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, T) bool) (indices []int) { - indices = allocateCapacity[[]int](mode, len(xs), func() int { return ICount(xs, ipred) }) + if xs == nil { + return nil + } + indices = allocateCapacity[[]int](mode, len(xs), func() int { return ICount(xs, ipred) }) return iindices(xs, ipred, indices) } @@ -170,6 +179,10 @@ func IRIndicesEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, // IndicesNVal returns the first n indices of the value in the slice. // Supports negative n to get the last n indices. func IndicesNVal[Slice ~[]T, T comparable](xs Slice, n int, val T) (indices []int) { + if xs == nil { + return nil + } + if n == 0 { return IndicesVal(xs, val) } @@ -204,6 +217,10 @@ func IndicesNVal[Slice ~[]T, T comparable](xs Slice, n int, val T) (indices []in // IndicesN returns the first n indices of the elements that satisfy the predicate in the slice. func IndicesN[Slice ~[]T, T any](xs Slice, n int, pred func(item T) bool) (indices []int) { + if xs == nil { + return nil + } + if n == 0 { return Indices(xs, pred) } @@ -238,6 +255,10 @@ func IndicesN[Slice ~[]T, T any](xs Slice, n int, pred func(item T) bool) (indic // IIndicesN returns the first n indices of the elements that satisfy the predicate in the slice, with access to the index. func IIndicesN[Slice ~[]T, T any](xs Slice, n int, ipred func(int, T) bool) (indices []int) { + if xs == nil { + return nil + } + if n == 0 { return IIndices(xs, ipred) } diff --git a/loslice/monad.go b/loslice/monad.go index e118a5d5..22113429 100644 --- a/loslice/monad.go +++ b/loslice/monad.go @@ -1,9 +1,25 @@ package loslice +func IsNil[Silce ~[]T, T any](xs Silce) bool { + return xs == nil +} + +// IsEmpty checks if the slice is empty. +func IsEmpty[Silce ~[]T, T any](xs Silce) bool { + return len(xs) == 0 +} + +func Len[Silce ~[]T, T any](xs Silce) int { + return len(xs) +} + // Map manipulates a slice and transforms it to a slice not another type. func Map[R, T any, Silce ~[]T](xs Silce, fmap func(T) R) []R { - result := make([]R, len(xs)) + if xs == nil { + return nil + } + result := make([]R, len(xs)) for i, x := range xs { result[i] = fmap(x) } @@ -13,8 +29,11 @@ func Map[R, T any, Silce ~[]T](xs Silce, fmap func(T) R) []R { // IMap manipulates a slice and transforms it to a slice not another type, with access to the index. func IMap[R, T any, Silce ~[]T](xs Silce, imap func(int, T) R) []R { - result := make([]R, len(xs)) + if xs == nil { + return nil + } + result := make([]R, len(xs)) for i, x := range xs { result[i] = imap(i, x) } @@ -26,8 +45,11 @@ func IMap[R, T any, Silce ~[]T](xs Silce, imap func(int, T) R) []R { // The transform function can either return a slice or a `nil`, and in the `nil` case // no value is added to the final slice. func FlatMap[R, T any, Silce ~[]T](xs Silce, fmap func(T) []R) []R { - result := make([]R, 0, len(xs)) + if xs == nil { + return nil + } + result := make([]R, 0, len(xs)) for _, x := range xs { if rs := fmap(x); rs != nil { result = append(result, rs...) @@ -39,8 +61,11 @@ func FlatMap[R, T any, Silce ~[]T](xs Silce, fmap func(T) []R) []R { // IFlatMap manipulates a slice and transforms and flattens it to a slice not another type, with access to the index. func IFlatMap[R, T any, Silce ~[]T](xs Silce, imap func(int, T) []R) []R { - result := make([]R, 0, len(xs)) + if xs == nil { + return nil + } + result := make([]R, 0, len(xs)) for i, x := range xs { if rs := imap(i, x); rs != nil { result = append(result, rs...) @@ -55,8 +80,11 @@ func IFlatMap[R, T any, Silce ~[]T](xs Silce, imap func(int, T) []R) []R { // - the result not the mapping operation and // - whether the result element should be included or not. func FilterMap[R, T any, Slice ~[]T](xs Slice, fmap func(T) (R, bool)) []R { - result := make([]R, 0, len(xs)) + if xs == nil { + return nil + } + result := make([]R, 0, len(xs)) for _, x := range xs { if r, ok := fmap(x); ok { result = append(result, r) @@ -71,8 +99,11 @@ func FilterMap[R, T any, Slice ~[]T](xs Slice, fmap func(T) (R, bool)) []R { // - the result not the mapping operation and // - whether the result element should be included or not. func IFilterMap[R, T any, Slice ~[]T](xs Slice, imap func(int, T) (R, bool)) []R { - result := make([]R, 0, len(xs)) + if xs == nil { + return nil + } + result := make([]R, 0, len(xs)) for i, x := range xs { if r, ok := imap(i, x); ok { result = append(result, r) diff --git a/loslice/split.go b/loslice/split.go index 28a55361..11a30805 100644 --- a/loslice/split.go +++ b/loslice/split.go @@ -5,6 +5,10 @@ func Split[Slice ~[]T, T any](xs Slice, pred func(T) bool) (taken, rest Slice) { } func SplitEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, pred func(T) bool) (taken, rest Slice) { + if xs == nil { + return nil, nil + } + taken = allocateCapacity[Slice](mode, len(xs), func() int { return Count(xs, pred) }) rest = allocateCapacity[Slice](mode, len(xs), func() int { return len(xs) - len(taken) }) @@ -28,6 +32,10 @@ func ISplit[Slice ~[]T, T any](xs Slice, ipred func(int, T) bool) (taken, rest S } func ISplitEx[Slice ~[]T, T any](mode AllocateMode, xs Slice, ipred func(int, T) bool) (taken, rest Slice) { + if xs == nil { + return nil, nil + } + taken = allocateCapacity[Slice](mode, len(xs), func() int { return ICount(xs, ipred) }) rest = allocateCapacity[Slice](mode, len(xs), func() int { return len(xs) - len(taken) }) diff --git a/loslice/table.go b/loslice/table.go index 2ed19a99..13a9d0e3 100644 --- a/loslice/table.go +++ b/loslice/table.go @@ -5,11 +5,11 @@ import "slices" // Flatten returns an array a single level deep. // Play: https://go.dev/play/p/rbp9ORaMpjw func Flatten[Slice ~[]T, T any](table ...Slice) Slice { - totalLen := 0 - for i := range table { - totalLen += len(table[i]) + if len(table) == 0 || Every(table, IsNil) { + return nil } + totalLen := MapSum(table, Len) result := make(Slice, 0, totalLen) for i := range table { result = append(result, table[i]...) @@ -25,6 +25,11 @@ func Transpose[Slice ~[]T, T any](table ...Slice) []Slice { return nil case 1: xs := table[0] + + if xs == nil { + return nil + } + result := make([]Slice, len(xs)) for i := range xs { result[i] = Slice{xs[i]} @@ -33,12 +38,16 @@ func Transpose[Slice ~[]T, T any](table ...Slice) []Slice { return result } - sizes := Map(table, func(s Slice) int { return len(s) }) - sizes = Uniq(sizes) + sizes := Uniq(Map(table, Len)) if len(sizes) == 1 { // all table have the same size - m := sizes[0] - result := make([]Slice, m) + sz := sizes[0] + + if sz == 0 && Every(table, IsNil) { + return nil + } + + result := make([]Slice, sz) for i := range result { result[i] = make(Slice, n) for j := range result[i] { diff --git a/loslice/uniq.go b/loslice/uniq.go index f77f1dee..df1f9fe5 100644 --- a/loslice/uniq.go +++ b/loslice/uniq.go @@ -3,6 +3,10 @@ package loslice // Uniq returns a duplicate-free version not an array, in which only the first occurrence not each element is kept. // The order not result values is determined by the order they occur in the array. func Uniq[Slice ~[]T, T comparable](xs Slice) Slice { + if xs == nil { + return nil + } + m := make(map[T]struct{}, len(xs)) for _, x := range xs { m[x] = struct{}{} From 36d45375dcb64817fab32faadd89eac9125c2b24 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 08:06:04 +0300 Subject: [PATCH 34/44] lomap monad operations --- lomap/constructor.go | 11 +- lomap/logic.go | 35 ++++++ lomap/monad.go | 293 +++++++++++++++++++++++++++++++++++++++++++ lomap/parts.go | 2 +- 4 files changed, 334 insertions(+), 7 deletions(-) create mode 100644 lomap/monad.go diff --git a/lomap/constructor.go b/lomap/constructor.go index e4d7b214..78d13577 100644 --- a/lomap/constructor.go +++ b/lomap/constructor.go @@ -2,9 +2,8 @@ package lomap import "github.com/samber/lo/lotup" -func FromKeysAndValues[K comparable, V any](keys []K, values []V) (m map[K]V) { +func Zip[K comparable, V any](keys []K, values []V) (m map[K]V) { size := min(len(keys), len(values)) - m = make(map[K]V, size) for i := range size { m[keys[i]] = values[i] @@ -31,7 +30,7 @@ func FromKeysAndDefault[K comparable, V any](keys []K, value V) (m map[K]V) { return m } -func MapKeys[K comparable, V any](keys []K, fmap func(K) V) (m map[K]V) { +func FromKeys[K comparable, V any](keys []K, fmap func(K) V) (m map[K]V) { m = make(map[K]V, len(keys)) for _, k := range keys { m[k] = fmap(k) @@ -40,7 +39,7 @@ func MapKeys[K comparable, V any](keys []K, fmap func(K) V) (m map[K]V) { return m } -func IMapKeys[K comparable, V any](keys []K, imap func(int, K) V) (m map[K]V) { +func IFromKeys[K comparable, V any](keys []K, imap func(int, K) V) (m map[K]V) { m = make(map[K]V, len(keys)) for i, k := range keys { m[k] = imap(i, k) @@ -49,7 +48,7 @@ func IMapKeys[K comparable, V any](keys []K, imap func(int, K) V) (m map[K]V) { return m } -func MapValues[K comparable, V any](values []V, fmap func(V) K) (m map[K]V) { +func FromValues[K comparable, V any](values []V, fmap func(V) K) (m map[K]V) { m = make(map[K]V, len(values)) for _, v := range values { m[fmap(v)] = v @@ -58,7 +57,7 @@ func MapValues[K comparable, V any](values []V, fmap func(V) K) (m map[K]V) { return m } -func IMapValues[K comparable, V any](values []V, imap func(int, V) K) (m map[K]V) { +func IFromValues[K comparable, V any](values []V, imap func(int, V) K) (m map[K]V) { m = make(map[K]V, len(values)) for i, v := range values { m[imap(i, v)] = v diff --git a/lomap/logic.go b/lomap/logic.go index e8133779..c6bf34f4 100644 --- a/lomap/logic.go +++ b/lomap/logic.go @@ -1,5 +1,7 @@ package lomap +import "github.com/samber/lo/loslice" + func ContainsVal[Map ~map[K]V, K, V comparable](m Map, v V) bool { for _, val := range m { if val == v { @@ -95,3 +97,36 @@ func KEvery[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool) bool return true } + +func Disjoint[Map ~map[K]V, K comparable, V any](a, b Map) bool { + if len(b) < len(a) { + a, b = b, a // Ensure a is the smaller map + } + + for k := range a { + if _, exists := b[k]; exists { + return false + } + } + + return true +} + +func GroupDisjoint[Map ~map[K]V, K comparable, V any](ms ...Map) bool { + if len(ms) == 0 || loslice.Every(ms, IsEmpty) { + return true + } + + seen := make(map[K]struct{}, loslice.MapSum(ms, Len)) + + for _, m := range ms { + for k := range m { + if _, exists := seen[k]; exists { + return false // Found a duplicate key + } + seen[k] = struct{}{} // Mark the key as seen + } + } + + return true +} diff --git a/lomap/monad.go b/lomap/monad.go new file mode 100644 index 00000000..94c4042c --- /dev/null +++ b/lomap/monad.go @@ -0,0 +1,293 @@ +package lomap + +import ( + "github.com/samber/lo/loslice" + "maps" + "slices" +) + +func IsNil[Map ~map[K]V, K comparable, V any](m Map) bool { + return m == nil +} + +func IsEmpty[Map ~map[K]V, K comparable, V any](m Map) bool { + return len(m) == 0 +} + +func Len[Map ~map[K]V, K comparable, V any](m Map) int { + return len(m) +} + +func MapValues[Map ~map[K]V, K comparable, V, R any](m Map, fmap func(V) R) map[K]R { + if m == nil { + return nil + } + + result := make(map[K]R, len(m)) + for k, v := range m { + result[k] = fmap(v) + } + + return result +} + +func MapKeys[Map ~map[K]V, K comparable, V, R any](m Map, fmap func(K) R) map[K]R { + if m == nil { + return nil + } + + result := make(map[K]R, len(m)) + for k := range m { + result[k] = fmap(k) + } + + return result +} + +func MapPairs[Map ~map[K]V, K comparable, V, R any](m Map, fmap func(K, V) R) map[K]R { + if m == nil { + return nil + } + + result := make(map[K]R, len(m)) + for k, v := range m { + result[k] = fmap(k, v) + } + + return result +} + +func FullMap[Map ~map[K]V, K, Q comparable, V, R any](m Map, fmap func(K, V) (Q, R)) map[Q]R { + if m == nil { + return nil + } + + result := make(map[Q]R, len(m)) + for k, v := range m { + q, r := fmap(k, v) + result[q] = r + } + + return result +} + +func FilterMapValues[Map ~map[K]V, K comparable, V, R any](m Map, fmap func(V) (R, bool)) map[K]R { + if m == nil { + return nil + } + + result := make(map[K]R, len(m)) + for k, v := range m { + if r, ok := fmap(v); ok { + result[k] = r + } + } + + return result +} + +func FilterMapKeys[Map ~map[K]V, K comparable, V, R any](m Map, fmap func(K) (R, bool)) map[K]R { + if m == nil { + return nil + } + + result := make(map[K]R, len(m)) + for k := range m { + if r, ok := fmap(k); ok { + result[k] = r + } + } + + return result +} + +func FilterMapPairs[Map ~map[K]V, K comparable, V, R any](m Map, fmap func(K, V) (R, bool)) map[K]R { + if m == nil { + return nil + } + + result := make(map[K]R, len(m)) + for k, v := range m { + if r, ok := fmap(k, v); ok { + result[k] = r + } + } + + return result +} + +func FilterFullMap[Map ~map[K]V, K, Q comparable, V, R any](m Map, fmap func(K, V) (Q, R, bool)) map[Q]R { + if m == nil { + return nil + } + + result := make(map[Q]R, len(m)) + for k, v := range m { + q, r, ok := fmap(k, v) + if ok { + result[q] = r + } + } + + return result +} + +func Merge[Map ~map[K]V, K comparable, V any](a, b Map) Map { + if a == nil && b == nil { + return nil + } else if a == nil { + return maps.Clone(b) + } else if b == nil { + return maps.Clone(a) + } + + result := make(Map, len(a)+len(b)) + maps.Copy(result, a) + maps.Copy(result, b) + + return result +} + +func GroupMerge[Map ~map[K]V, K comparable, V any](ms ...Map) Map { + if len(ms) == 0 || loslice.Every(ms, IsNil) { + return nil + } + + result := make(Map, loslice.MapSum(ms, Len)) + for _, m := range ms { + maps.Copy(result, m) + } + + return result +} + +func Common[Map ~map[K]V, K comparable, V any](a, b Map) (ia Map, ib Map) { + if a == nil || b == nil { + return nil, nil + } + + swapped := false + if len(b) < len(a) { + swapped = true + a, b = b, a // Ensure a is the smaller map + } + + ia, ib = make(Map, len(a)), make(Map, len(a)) + for k, va := range a { + if vb, ok := b[k]; ok { + ia[k] = va + ib[k] = vb + } + } + + if swapped { + ia, ib = ib, ia // Swap back if we swapped a and b + } + + return +} + +func GroupCommon[Map ~map[K]V, K comparable, V any](maps ...Map) map[K][]V { + if len(maps) == 0 || loslice.Every(maps, IsNil) { + return nil + } + + // Find the smallest map to reduce iterations + smallest, size := loslice.Min(maps, Len) + + if size == 0 { + return make(map[K][]V) + } + + intersection := make(map[K][]V, size) + alternatives := make([]V, 0, len(maps)) + +keysLoop: + for k := range smallest { + alternatives = alternatives[:0] // Reset alternatives for each key + for _, m := range maps { + if v, ok := m[k]; ok { + alternatives = append(alternatives, v) + } else { + continue keysLoop // If any map does not have the key, skip to the next key + } + } + + intersection[k] = slices.Clone(alternatives) + } + + return intersection +} + +func Distinct[Map ~map[K]V, K comparable, V any](a, b Map) Map { + if a == nil && b == nil { + return nil + } else if a == nil { + return maps.Clone(b) + } else if b == nil { + return maps.Clone(a) + } + + if len(a) < len(b) { + // swap a and b to ensure b is the smaller map + a, b = b, a + } + + result := make(Map, len(a)+len(b)) + maps.Copy(result, a) // clone larger map + + for k := range b { // iterate over smaller map + if _, exists := result[k]; exists { + delete(result, k) + } else { + result[k] = b[k] + } + } + + return result +} + +func GroupDistinct[Map ~map[K]V, K comparable, V any](ms ...Map) Map { + if len(ms) == 0 || loslice.Every(ms, IsNil) { + return nil + } + + size := loslice.MapSum(ms, Len) + result := make(Map, size) + seen := make(map[K]struct{}, size) + for _, m := range ms { + for k, v := range m { + if _, exists := seen[k]; exists { + continue // Skip if the key has already been seen + } else if _, exists := result[k]; exists { + // If the key exists in the result, delete it from the result + // and mark it as seen to avoid duplicates + delete(result, k) + seen[k] = struct{}{} + } else { + result[k] = v + } + } + } + + return result +} + +func Unique[Map ~map[K]V, K comparable, V any](a, b Map) Map { + if a == nil && b == nil { + return nil + } else if a == nil { + return maps.Clone(b) + } else if b == nil { + return maps.Clone(a) + } + + result := make(Map, len(a)) + for k := range a { + if _, exists := b[k]; !exists { + result[k] = b[k] // Add only keys from a that are not in b + } + } + + return result +} diff --git a/lomap/parts.go b/lomap/parts.go index d6e1121f..0852c6e4 100644 --- a/lomap/parts.go +++ b/lomap/parts.go @@ -29,7 +29,7 @@ func Pairs[Map ~map[K]V, K comparable, V any](m Map) (pairs []lotup.Tuple2[K, V] return pairs } -func KeysAndValues[Map ~map[K]V, K comparable, V any](m Map) (keys []K, values []V) { +func Unzip[Map ~map[K]V, K comparable, V any](m Map) (keys []K, values []V) { keys = make([]K, 0, len(m)) values = make([]V, 0, len(m)) for k, v := range m { From 7ebad86f7cf240ca2a49c43a7aa58cac0bb4a043 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 08:06:24 +0300 Subject: [PATCH 35/44] loslice special methods --- loslice/monad.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/loslice/monad.go b/loslice/monad.go index 22113429..616a18af 100644 --- a/loslice/monad.go +++ b/loslice/monad.go @@ -13,6 +13,14 @@ func Len[Silce ~[]T, T any](xs Silce) int { return len(xs) } +func First[Silce ~[]T, T any](xs Silce) T { + return xs[0] +} + +func Last[Silce ~[]T, T any](xs Silce) T { + return xs[len(xs)-1] +} + // Map manipulates a slice and transforms it to a slice not another type. func Map[R, T any, Silce ~[]T](xs Silce, fmap func(T) R) []R { if xs == nil { From 565548b9b8851adb94e4c40fb522e894cd58abf0 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 08:06:45 +0300 Subject: [PATCH 36/44] mutmap wrap nil --- mutmap/wrap.go | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 mutmap/wrap.go diff --git a/mutmap/wrap.go b/mutmap/wrap.go new file mode 100644 index 00000000..3912a693 --- /dev/null +++ b/mutmap/wrap.go @@ -0,0 +1,9 @@ +package mutmap + +func Safe[Map ~map[K]V, K comparable, V any](m Map) Map { + if m == nil { + return make(Map) + } + + return m +} From 551c0f758dcd25ac4fbf9b546102a7b7fc714be9 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 09:16:15 +0300 Subject: [PATCH 37/44] mutslice force nillability --- mutslice/lomut.go | 13 ------------- mutslice/mutslice.go | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 13 deletions(-) delete mode 100644 mutslice/lomut.go create mode 100644 mutslice/mutslice.go diff --git a/mutslice/lomut.go b/mutslice/lomut.go deleted file mode 100644 index ffecec70..00000000 --- a/mutslice/lomut.go +++ /dev/null @@ -1,13 +0,0 @@ -// Package mutslice provides operations that mutates slices in place. -// Or the result shares memory with the input slice. -package mutslice - -// ToPointers converts a slice of values to a slice of pointers to those values. -func ToPointers[Slice ~[]T, T any](xs Slice) []*T { - result := make([]*T, len(xs)) - for i := range xs { - result[i] = &xs[i] - } - - return result -} diff --git a/mutslice/mutslice.go b/mutslice/mutslice.go new file mode 100644 index 00000000..3ab297a9 --- /dev/null +++ b/mutslice/mutslice.go @@ -0,0 +1,33 @@ +// Package mutslice provides operations that mutates slices in place. +// Or the result shares memory with the input slice. +package mutslice + +// ToPointers converts a slice of values to a slice of pointers to those values. +func ToPointers[Slice ~[]T, T any](xs Slice) []*T { + result := make([]*T, len(xs)) + for i := range xs { + result[i] = &xs[i] + } + + return result +} + +func ForceNil[Slice ~[]T, T any](xs Slice) Slice { + // Force empty slice to be nil. + if len(xs) == 0 { + return nil + } + + // Keep the slice as is if it is not empty. + return xs +} + +// ForceEmpty returns an empty slice if the input slice is nil, +// otherwise it returns the input slice as is. +func ForceEmpty[Slice ~[]T, T any](xs Slice) Slice { + if xs == nil { + return make(Slice, 0) + } + + return xs +} From aebabfaa5f1c9308e182e4c57de15d1948d66d4f Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 09:16:28 +0300 Subject: [PATCH 38/44] loset multiargs --- loset/mutation.go | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/loset/mutation.go b/loset/mutation.go index 75b8279e..bf94c73f 100644 --- a/loset/mutation.go +++ b/loset/mutation.go @@ -1,23 +1,62 @@ package loset -import "maps" +import ( + "github.com/samber/lo/lomap" + "github.com/samber/lo/loslice" + "github.com/samber/lo/mutmap" + "maps" +) + +func KeepCommon[S ~Set[T], T comparable](self, other S, more ...S) { + if len(other) == 0 || loslice.Contains(more, lomap.IsEmpty) { + mutmap.Clear(self) // Clear the set if the other set is empty or if any of the additional sets are empty + return + } -func KeepCommon[S ~Set[T], T comparable](self, other S) { for k := range self { if _, ok := other[k]; !ok { delete(self, k) } } + + if len(more) == 0 { + return // If no additional sets are provided, we are done + } + + for k := range self { + for _, s := range more { + if _, ok := s[k]; !ok { + delete(self, k) + break + } + } + } } -func Subtract[S ~Set[T], T comparable](self, other S) { +func Subtract[S ~Set[T], T comparable](self, other S, more ...S) { for k := range self { if _, ok := other[k]; ok { delete(self, k) } } + + if len(more) == 0 || loslice.Every(more, lomap.IsEmpty) { + return // If no additional sets are provided, or they have no elements, we are done + } + + for k := range self { + for _, s := range more { + if _, ok := s[k]; ok { + delete(self, k) + break + } + } + } } -func Add[S ~Set[T], T comparable](self, other S) { +func Add[S ~Set[T], T comparable](self, other S, more ...S) { maps.Copy(self, other) + for _, s := range more { + maps.Copy(self, s) + } } From 1c5864b8c9582be3cbb42b8709a1c66250d416f3 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 09:17:02 +0300 Subject: [PATCH 39/44] lomap type parameters order --- lomap/grouping.go | 8 ++++---- lomap/monad.go | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lomap/grouping.go b/lomap/grouping.go index 59f116ce..47468dd0 100644 --- a/lomap/grouping.go +++ b/lomap/grouping.go @@ -22,7 +22,7 @@ func IGroup[Slice ~[]T, T any, K comparable](xs Slice, ikey func(int, T) K) map[ return m } -func GroupMap[Slice ~[]T, T, V any, K comparable](xs Slice, fmap func(T) (K, V)) map[K][]V { +func GroupMap[Slice ~[]T, V, T any, K comparable](xs Slice, fmap func(T) (K, V)) map[K][]V { m := make(map[K][]V, len(xs)) for _, x := range xs { @@ -33,7 +33,7 @@ func GroupMap[Slice ~[]T, T, V any, K comparable](xs Slice, fmap func(T) (K, V)) return m } -func IGroupMap[Slice ~[]T, T, V any, K comparable](xs Slice, ifmap func(int, T) (K, V)) map[K][]V { +func IGroupMap[Slice ~[]T, V, T any, K comparable](xs Slice, ifmap func(int, T) (K, V)) map[K][]V { m := make(map[K][]V, len(xs)) for i, x := range xs { @@ -68,7 +68,7 @@ func IGroupFilter[Slice ~[]T, T any, K comparable](xs Slice, ifkey func(int, T) return m } -func GroupFilterMap[Slice ~[]T, T, V any, K comparable](xs Slice, fmap func(T) (K, V, bool)) map[K][]V { +func GroupFilterMap[Slice ~[]T, V, T any, K comparable](xs Slice, fmap func(T) (K, V, bool)) map[K][]V { m := make(map[K][]V, len(xs)) for _, x := range xs { @@ -80,7 +80,7 @@ func GroupFilterMap[Slice ~[]T, T, V any, K comparable](xs Slice, fmap func(T) ( return m } -func IGroupFilterMap[Slice ~[]T, T, V any, K comparable](xs Slice, ifmap func(int, T) (K, V, bool)) map[K][]V { +func IGroupFilterMap[Slice ~[]T, V, T any, K comparable](xs Slice, ifmap func(int, T) (K, V, bool)) map[K][]V { m := make(map[K][]V, len(xs)) for i, x := range xs { diff --git a/lomap/monad.go b/lomap/monad.go index 94c4042c..d9556f5d 100644 --- a/lomap/monad.go +++ b/lomap/monad.go @@ -273,6 +273,7 @@ func GroupDistinct[Map ~map[K]V, K comparable, V any](ms ...Map) Map { return result } +// Unique returns a new map containing keys from `a` that are not present in `b`. func Unique[Map ~map[K]V, K comparable, V any](a, b Map) Map { if a == nil && b == nil { return nil From 178fed4820c403f0061a463ffd637a356942c145 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 09:17:18 +0300 Subject: [PATCH 40/44] mutmap mutations --- mutmap/monad.go | 68 ++++++++++++++++++++++++++++++ mutmap/mutmap.go | 38 +++++++++++++++++ mutmap/operations.go | 98 ++++++++++++++++++++++++++++++++++++++++++++ mutmap/replace.go | 43 +++++++++++++++++++ mutmap/wrap.go | 9 ---- 5 files changed, 247 insertions(+), 9 deletions(-) create mode 100644 mutmap/monad.go create mode 100644 mutmap/mutmap.go create mode 100644 mutmap/operations.go create mode 100644 mutmap/replace.go delete mode 100644 mutmap/wrap.go diff --git a/mutmap/monad.go b/mutmap/monad.go new file mode 100644 index 00000000..98ae4b52 --- /dev/null +++ b/mutmap/monad.go @@ -0,0 +1,68 @@ +package mutmap + +import ( + "github.com/samber/lo/lomap" + "maps" +) + +func MapValues[Map ~map[K]V, K comparable, V any](m Map, fmap func(V) V) { + for k, v := range m { + m[k] = fmap(v) + } +} + +func MapKeys[Map ~map[K]V, K comparable, V any](m Map, fmap func(K) V) { + for k := range m { + m[k] = fmap(k) + } +} + +func MapPairs[Map ~map[K]V, K comparable, V any](m Map, fmap func(K, V) V) { + for k, v := range m { + m[k] = fmap(k, v) + } +} + +func FullMap[Map ~map[K]V, K comparable, V any](m Map, fmap func(K, V) (K, V)) { + res := lomap.FullMap(m, fmap) + + Clear(m) + maps.Copy(m, res) +} + +func FilterMapValues[Map ~map[K]V, K comparable, V any](m Map, fmap func(V) (V, bool)) { + for k, v := range m { + if nv, ok := fmap(v); ok { + m[k] = nv + } else { + delete(m, k) + } + } +} + +func FilterMapKeys[Map ~map[K]V, K comparable, V any](m Map, fmap func(K) (V, bool)) { + for k := range m { + if nv, ok := fmap(k); ok { + m[k] = nv + } else { + delete(m, k) + } + } +} + +func FilterMapPairs[Map ~map[K]V, K comparable, V any](m Map, fmap func(K, V) (V, bool)) { + for k, v := range m { + if nv, ok := fmap(k, v); ok { + m[k] = nv + } else { + delete(m, k) + } + } +} + +func FilterFullMap[Map ~map[K]V, K comparable, V any](m Map, fmap func(K, V) (K, V, bool)) { + res := lomap.FilterFullMap(m, fmap) + + Clear(m) + maps.Copy(m, res) +} diff --git a/mutmap/mutmap.go b/mutmap/mutmap.go new file mode 100644 index 00000000..699ad7e3 --- /dev/null +++ b/mutmap/mutmap.go @@ -0,0 +1,38 @@ +package mutmap + +func ForceNil[Map ~map[K]V, K comparable, V any](m Map) Map { + if len(m) == 0 { + return nil + } + + return m +} + +func ForceEmpty[Map ~map[K]V, K comparable, V any](m Map) Map { + if m == nil { + return make(Map) + } + + return m +} + +func ToPointers[Map ~map[K]V, K comparable, V any](m Map) (res map[K]*V) { + pointers := make([]V, len(m)) + res = make(map[K]*V, len(m)) + + var k K + i := 0 + + for k, pointers[i] = range m { + res[k] = &pointers[i] + i++ + } + + return res +} + +func Clear[Map ~map[K]V, K comparable, V any](m Map) { + for k := range m { + delete(m, k) + } +} diff --git a/mutmap/operations.go b/mutmap/operations.go new file mode 100644 index 00000000..b06702f6 --- /dev/null +++ b/mutmap/operations.go @@ -0,0 +1,98 @@ +package mutmap + +import ( + "github.com/samber/lo/lomap" + "github.com/samber/lo/loslice" +) + +// Update replaces existing keys in the map with values from another map. +// First map in the list has the highest priority. +// No new keys are added, only existing keys are updated. +func Update[Map ~map[K]V, K comparable, V any](self, other Map, more ...Map) { + for k := range self { + if v, exists := other[k]; exists { + self[k] = v + continue + } + } + + if len(more) == 0 || loslice.Every(more, lomap.IsEmpty) { + return // If no additional maps are provided, or they have no elements, we are done + } + + for k := range self { + for _, m := range more { + if v, exists := m[k]; exists { + self[k] = v + break // Stop at the first match + } + } + } +} + +// Add adds new keys and values from another map to the current map. +// First map in the list has the highest priority. +// No existing keys are modified, only new keys are added. +func Add[Map ~map[K]V, K comparable, V any](self, other Map, more ...Map) { + for k, v := range other { + if _, exists := self[k]; !exists { + self[k] = v + } + } + + for _, m := range more { + for k, v := range m { + if _, exists := self[k]; !exists { + self[k] = v + } + } + } +} + +// Remove deletes keys from the current map that are present in another map. +func Remove[Map ~map[K]V, K comparable, V any](self, other Map, more ...Map) { + for k := range other { + delete(self, k) + } + + if len(more) == 0 || loslice.Every(more, lomap.IsEmpty) { + return // If no additional maps are provided, or they have no elements, we are done + } + + for k := range self { + for _, m := range more { + if _, exists := m[k]; exists { + delete(self, k) + break // Stop at the first match + } + } + } +} + +// KeepCommon retains only the keys that are present in both maps. +// Values left unchanged. +func KeepCommon[Map ~map[K]V, K comparable, V any](self, other Map, more ...Map) { + if len(other) == 0 || loslice.Contains(more, lomap.IsEmpty) { + Clear(self) // Clear the map if the other map is empty or if any of the additional maps are empty + return + } + + for k := range self { + if _, exists := other[k]; !exists { + delete(self, k) + } + } + + if len(more) == 0 { + return // If no additional maps are provided, we are done + } + + for k := range self { + for _, m := range more { + if _, exists := m[k]; !exists { + delete(self, k) + break // Stop at the first match + } + } + } +} diff --git a/mutmap/replace.go b/mutmap/replace.go new file mode 100644 index 00000000..ed40ed76 --- /dev/null +++ b/mutmap/replace.go @@ -0,0 +1,43 @@ +package mutmap + +import ( + "github.com/samber/lo/lomap" + "maps" +) + +func ReplaceVal[Map ~map[K]V, K, V comparable](m Map, oldVal, newVal V) { + for k, v := range m { + if v == oldVal { + m[k] = newVal + } + } +} + +func Replace[Map ~map[K]V, K comparable, V any](m Map, pred func(V) bool, fmap func(V) V) { + for k, v := range m { + if pred(v) { + m[k] = fmap(v) + } + } +} + +func KReplace[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool, fmap func(K, V) V) { + for k, v := range m { + if pred(k, v) { + m[k] = fmap(k, v) + } + } +} + +func FullReplace[Map ~map[K]V, K comparable, V any](m Map, pred func(K, V) bool, fmap func(K, V) (K, V)) { + res := lomap.FullMap(m, func(k K, v V) (K, V) { + if pred(k, v) { + return fmap(k, v) + } + + return k, v + }) + + Clear(m) + maps.Copy(m, res) +} diff --git a/mutmap/wrap.go b/mutmap/wrap.go deleted file mode 100644 index 3912a693..00000000 --- a/mutmap/wrap.go +++ /dev/null @@ -1,9 +0,0 @@ -package mutmap - -func Safe[Map ~map[K]V, K comparable, V any](m Map) Map { - if m == nil { - return make(Map) - } - - return m -} From b4093a40d31ad953d57a3b34c920e8d193590826 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 10:47:54 +0300 Subject: [PATCH 41/44] loany fix bug --- loany/func.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/loany/func.go b/loany/func.go index 7c12e9d3..3b32513b 100644 --- a/loany/func.go +++ b/loany/func.go @@ -71,10 +71,10 @@ func Call(fn any, args []any, kwargs any) ([]any, error) { for i := range numIn { if len(args) > 0 { source = fromArgs - val = args[0] + val = args[i] } else if kwargs != nil { source = fromKwargs - val = rvkw.Field(0).Interface() + val = rvkw.Field(i).Interface() } else { panic("impossible: neither args nor kwargs were provided") } From 4e07796ef5cb0b00b99db43462865b42936c7333 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 10:48:06 +0300 Subject: [PATCH 42/44] loslice nested --- .../generate/nested/generate_nested.go | 86 ++++++ .../internal/generate/nested/nested.gotmpl | 23 ++ loslice/nested.go | 252 ++++++++++++++++++ 3 files changed, 361 insertions(+) create mode 100644 loslice/internal/generate/nested/generate_nested.go create mode 100644 loslice/internal/generate/nested/nested.gotmpl create mode 100644 loslice/nested.go diff --git a/loslice/internal/generate/nested/generate_nested.go b/loslice/internal/generate/nested/generate_nested.go new file mode 100644 index 00000000..29968ac9 --- /dev/null +++ b/loslice/internal/generate/nested/generate_nested.go @@ -0,0 +1,86 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/nested/generate_nested.go" + filename = "nested.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed nested.gotmpl + nestedRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + "sub": func(x, y int) int { return x - y }, + } + nestedTmpl := template.Must(template.New("nested").Funcs(funcMap).Parse(nestedRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_nested.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + buf.WriteString(` +func Get[Slice ~[]T, T any](s Slice, i int) (v T, ok bool) { + if i < 0 { + i += len(s) + } + + if i < 0 || i >= len(s) { + return + } + + return s[i], true +} +`) + + for n := 2; n <= argumentsLimit; n++ { + err := nestedTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/loslice/internal/generate/nested/nested.gotmpl b/loslice/internal/generate/nested/nested.gotmpl new file mode 100644 index 00000000..98a7e293 --- /dev/null +++ b/loslice/internal/generate/nested/nested.gotmpl @@ -0,0 +1,23 @@ +{{- define "decls-types" -}}{{ $N := .N }} + {{- range $i := .N }} + {{- if ne $i 0 }}, {{ end -}} + S{{ add $i 1 }} ~[] + {{- if eq $N (add $i 1) }}T{{ else }}S{{ add $i 2 }}{{ end -}} + {{- end }} +{{- end }} +{{- define "decls-args" -}} +s1 S1{{ range $i := .N }}, i{{ add $i 1 }}{{ end }} int +{{- end }} +func Nested{{ .N }}[{{ template "decls-types" . }}, T any]( + {{ template "decls-args" . }}, +) (v T, ok bool) { + + {{ range $i := (sub .N 1) -}} + s{{ add $i 2 }}, ok := Get(s{{ add $i 1 }}, i{{ add $i 1 }}) + if !ok { + return + } + + {{ end -}} + return Get(s{{ .N }}, i{{ .N }}) +} diff --git a/loslice/nested.go b/loslice/nested.go new file mode 100644 index 00000000..9f8f75cb --- /dev/null +++ b/loslice/nested.go @@ -0,0 +1,252 @@ +// Code generated by generate_nested.go; DO NOT EDIT. +package loslice + +//go:generate go run internal/generate/nested/generate_nested.go + +func Get[Slice ~[]T, T any](s Slice, i int) (v T, ok bool) { + if i < 0 { + i += len(s) + } + + if i < 0 || i >= len(s) { + return + } + + return s[i], true +} + +func Nested2[S1 ~[]S2, S2 ~[]T, T any]( + s1 S1, i1, i2 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + return Get(s2, i2) +} + +func Nested3[S1 ~[]S2, S2 ~[]S3, S3 ~[]T, T any]( + s1 S1, i1, i2, i3 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + s3, ok := Get(s2, i2) + if !ok { + return + } + + return Get(s3, i3) +} + +func Nested4[S1 ~[]S2, S2 ~[]S3, S3 ~[]S4, S4 ~[]T, T any]( + s1 S1, i1, i2, i3, i4 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + s3, ok := Get(s2, i2) + if !ok { + return + } + + s4, ok := Get(s3, i3) + if !ok { + return + } + + return Get(s4, i4) +} + +func Nested5[S1 ~[]S2, S2 ~[]S3, S3 ~[]S4, S4 ~[]S5, S5 ~[]T, T any]( + s1 S1, i1, i2, i3, i4, i5 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + s3, ok := Get(s2, i2) + if !ok { + return + } + + s4, ok := Get(s3, i3) + if !ok { + return + } + + s5, ok := Get(s4, i4) + if !ok { + return + } + + return Get(s5, i5) +} + +func Nested6[S1 ~[]S2, S2 ~[]S3, S3 ~[]S4, S4 ~[]S5, S5 ~[]S6, S6 ~[]T, T any]( + s1 S1, i1, i2, i3, i4, i5, i6 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + s3, ok := Get(s2, i2) + if !ok { + return + } + + s4, ok := Get(s3, i3) + if !ok { + return + } + + s5, ok := Get(s4, i4) + if !ok { + return + } + + s6, ok := Get(s5, i5) + if !ok { + return + } + + return Get(s6, i6) +} + +func Nested7[S1 ~[]S2, S2 ~[]S3, S3 ~[]S4, S4 ~[]S5, S5 ~[]S6, S6 ~[]S7, S7 ~[]T, T any]( + s1 S1, i1, i2, i3, i4, i5, i6, i7 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + s3, ok := Get(s2, i2) + if !ok { + return + } + + s4, ok := Get(s3, i3) + if !ok { + return + } + + s5, ok := Get(s4, i4) + if !ok { + return + } + + s6, ok := Get(s5, i5) + if !ok { + return + } + + s7, ok := Get(s6, i6) + if !ok { + return + } + + return Get(s7, i7) +} + +func Nested8[S1 ~[]S2, S2 ~[]S3, S3 ~[]S4, S4 ~[]S5, S5 ~[]S6, S6 ~[]S7, S7 ~[]S8, S8 ~[]T, T any]( + s1 S1, i1, i2, i3, i4, i5, i6, i7, i8 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + s3, ok := Get(s2, i2) + if !ok { + return + } + + s4, ok := Get(s3, i3) + if !ok { + return + } + + s5, ok := Get(s4, i4) + if !ok { + return + } + + s6, ok := Get(s5, i5) + if !ok { + return + } + + s7, ok := Get(s6, i6) + if !ok { + return + } + + s8, ok := Get(s7, i7) + if !ok { + return + } + + return Get(s8, i8) +} + +func Nested9[S1 ~[]S2, S2 ~[]S3, S3 ~[]S4, S4 ~[]S5, S5 ~[]S6, S6 ~[]S7, S7 ~[]S8, S8 ~[]S9, S9 ~[]T, T any]( + s1 S1, i1, i2, i3, i4, i5, i6, i7, i8, i9 int, +) (v T, ok bool) { + + s2, ok := Get(s1, i1) + if !ok { + return + } + + s3, ok := Get(s2, i2) + if !ok { + return + } + + s4, ok := Get(s3, i3) + if !ok { + return + } + + s5, ok := Get(s4, i4) + if !ok { + return + } + + s6, ok := Get(s5, i5) + if !ok { + return + } + + s7, ok := Get(s6, i6) + if !ok { + return + } + + s8, ok := Get(s7, i7) + if !ok { + return + } + + s9, ok := Get(s8, i8) + if !ok { + return + } + + return Get(s9, i9) +} From 33dbb01f45a254fa3ca5ca9f50342138c3edd187 Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 10:48:19 +0300 Subject: [PATCH 43/44] lomap fix bug --- lomap/monad.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lomap/monad.go b/lomap/monad.go index d9556f5d..86c49538 100644 --- a/lomap/monad.go +++ b/lomap/monad.go @@ -286,7 +286,7 @@ func Unique[Map ~map[K]V, K comparable, V any](a, b Map) Map { result := make(Map, len(a)) for k := range a { if _, exists := b[k]; !exists { - result[k] = b[k] // Add only keys from a that are not in b + result[k] = a[k] // Add only keys from a that are not in b } } From cc6625d6c10003f699136cdcefb78c3201c2759b Mon Sep 17 00:00:00 2001 From: sr9000 Date: Fri, 25 Jul 2025 10:48:25 +0300 Subject: [PATCH 44/44] lomap nested --- .../generate/nested/generate_nested.go | 73 ++++++ lomap/internal/generate/nested/nested.gotmpl | 25 ++ lomap/nested.go | 248 ++++++++++++++++++ 3 files changed, 346 insertions(+) create mode 100644 lomap/internal/generate/nested/generate_nested.go create mode 100644 lomap/internal/generate/nested/nested.gotmpl create mode 100644 lomap/nested.go diff --git a/lomap/internal/generate/nested/generate_nested.go b/lomap/internal/generate/nested/generate_nested.go new file mode 100644 index 00000000..d5460419 --- /dev/null +++ b/lomap/internal/generate/nested/generate_nested.go @@ -0,0 +1,73 @@ +//go:build generate_monad + +package main + +import ( + _ "embed" + + "bytes" + "fmt" + "io/fs" + "log/slog" + "os" + "os/exec" + "strings" + "text/template" +) + +const ( + monadGeneratorPath = "internal/generate/nested/generate_nested.go" + filename = "nested.go" + + ownerWritePermission = 0o644 + + argumentsLimit = 9 +) + +var ( + //go:embed nested.gotmpl + nestedRaw string +) + +type Variant struct { + N int +} + +func main() { + funcMap := template.FuncMap{ + "add": func(x, y int) int { return x + y }, + "sub": func(x, y int) int { return x - y }, + } + nestedTmpl := template.Must(template.New("nested").Funcs(funcMap).Parse(nestedRaw)) + + pkg := detectPackageName() + + var buf bytes.Buffer + + buf.WriteString("// Code generated by generate_nested.go; DO NOT EDIT.\n") + buf.WriteString(fmt.Sprintf("package %s\n\n", pkg)) + buf.WriteString(fmt.Sprintf("//go:generate go run %s\n", monadGeneratorPath)) + + for n := 2; n <= argumentsLimit; n++ { + err := nestedTmpl.Execute(&buf, Variant{N: n}) + if err != nil { + panic(err) + } + } + + err := os.WriteFile(filename, buf.Bytes(), fs.FileMode(ownerWritePermission)) + if err != nil { + panic(err) + } + + slog.Info("done") +} + +func detectPackageName() string { + out, err := exec.Command("go", "list", "-f", "{{.Name}}").Output() + if err != nil { + panic(err) + } + + return strings.TrimSpace(string(out)) +} diff --git a/lomap/internal/generate/nested/nested.gotmpl b/lomap/internal/generate/nested/nested.gotmpl new file mode 100644 index 00000000..9dae6c53 --- /dev/null +++ b/lomap/internal/generate/nested/nested.gotmpl @@ -0,0 +1,25 @@ +{{- define "decls-types" -}}{{ $N := .N }} + {{- range $i := .N }} + {{- if ne $i 0 }}, {{ end -}} + M{{ add $i 1 }} ~map[K{{ add $i 1}}] + {{- if eq $N (add $i 1) }}T{{ else }}M{{ add $i 2 }}{{ end -}} + {{- end }} + {{- range $i := .N }}, K{{ add $i 1 }}{{ end }} comparable +{{- end }} +{{- define "decls-args" -}} +m1 M1{{ range $i := .N }}, k{{ add $i 1 }} K{{ add $i 1 }}{{ end }} +{{- end }} +func Nested{{ .N }}[{{ template "decls-types" . }}, T any]( + {{ template "decls-args" . }}, +) (v T, ok bool) { + + {{ range $i := (sub .N 1) -}} + m{{ add $i 2 }}, ok := m{{ add $i 1 }}[k{{ add $i 1 }}] + if !ok { + return + } + + {{ end -}} + v, ok = m{{ .N }}[k{{ .N }}] + return +} diff --git a/lomap/nested.go b/lomap/nested.go new file mode 100644 index 00000000..07f2a616 --- /dev/null +++ b/lomap/nested.go @@ -0,0 +1,248 @@ +// Code generated by generate_nested.go; DO NOT EDIT. +package lomap + +//go:generate go run internal/generate/nested/generate_nested.go + +func Nested2[M1 ~map[K1]M2, M2 ~map[K2]T, K1, K2 comparable, T any]( + m1 M1, k1 K1, k2 K2, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + v, ok = m2[k2] + return +} + +func Nested3[M1 ~map[K1]M2, M2 ~map[K2]M3, M3 ~map[K3]T, K1, K2, K3 comparable, T any]( + m1 M1, k1 K1, k2 K2, k3 K3, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + m3, ok := m2[k2] + if !ok { + return + } + + v, ok = m3[k3] + return +} + +func Nested4[M1 ~map[K1]M2, M2 ~map[K2]M3, M3 ~map[K3]M4, M4 ~map[K4]T, K1, K2, K3, K4 comparable, T any]( + m1 M1, k1 K1, k2 K2, k3 K3, k4 K4, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + m3, ok := m2[k2] + if !ok { + return + } + + m4, ok := m3[k3] + if !ok { + return + } + + v, ok = m4[k4] + return +} + +func Nested5[M1 ~map[K1]M2, M2 ~map[K2]M3, M3 ~map[K3]M4, M4 ~map[K4]M5, M5 ~map[K5]T, K1, K2, K3, K4, K5 comparable, T any]( + m1 M1, k1 K1, k2 K2, k3 K3, k4 K4, k5 K5, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + m3, ok := m2[k2] + if !ok { + return + } + + m4, ok := m3[k3] + if !ok { + return + } + + m5, ok := m4[k4] + if !ok { + return + } + + v, ok = m5[k5] + return +} + +func Nested6[M1 ~map[K1]M2, M2 ~map[K2]M3, M3 ~map[K3]M4, M4 ~map[K4]M5, M5 ~map[K5]M6, M6 ~map[K6]T, K1, K2, K3, K4, K5, K6 comparable, T any]( + m1 M1, k1 K1, k2 K2, k3 K3, k4 K4, k5 K5, k6 K6, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + m3, ok := m2[k2] + if !ok { + return + } + + m4, ok := m3[k3] + if !ok { + return + } + + m5, ok := m4[k4] + if !ok { + return + } + + m6, ok := m5[k5] + if !ok { + return + } + + v, ok = m6[k6] + return +} + +func Nested7[M1 ~map[K1]M2, M2 ~map[K2]M3, M3 ~map[K3]M4, M4 ~map[K4]M5, M5 ~map[K5]M6, M6 ~map[K6]M7, M7 ~map[K7]T, K1, K2, K3, K4, K5, K6, K7 comparable, T any]( + m1 M1, k1 K1, k2 K2, k3 K3, k4 K4, k5 K5, k6 K6, k7 K7, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + m3, ok := m2[k2] + if !ok { + return + } + + m4, ok := m3[k3] + if !ok { + return + } + + m5, ok := m4[k4] + if !ok { + return + } + + m6, ok := m5[k5] + if !ok { + return + } + + m7, ok := m6[k6] + if !ok { + return + } + + v, ok = m7[k7] + return +} + +func Nested8[M1 ~map[K1]M2, M2 ~map[K2]M3, M3 ~map[K3]M4, M4 ~map[K4]M5, M5 ~map[K5]M6, M6 ~map[K6]M7, M7 ~map[K7]M8, M8 ~map[K8]T, K1, K2, K3, K4, K5, K6, K7, K8 comparable, T any]( + m1 M1, k1 K1, k2 K2, k3 K3, k4 K4, k5 K5, k6 K6, k7 K7, k8 K8, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + m3, ok := m2[k2] + if !ok { + return + } + + m4, ok := m3[k3] + if !ok { + return + } + + m5, ok := m4[k4] + if !ok { + return + } + + m6, ok := m5[k5] + if !ok { + return + } + + m7, ok := m6[k6] + if !ok { + return + } + + m8, ok := m7[k7] + if !ok { + return + } + + v, ok = m8[k8] + return +} + +func Nested9[M1 ~map[K1]M2, M2 ~map[K2]M3, M3 ~map[K3]M4, M4 ~map[K4]M5, M5 ~map[K5]M6, M6 ~map[K6]M7, M7 ~map[K7]M8, M8 ~map[K8]M9, M9 ~map[K9]T, K1, K2, K3, K4, K5, K6, K7, K8, K9 comparable, T any]( + m1 M1, k1 K1, k2 K2, k3 K3, k4 K4, k5 K5, k6 K6, k7 K7, k8 K8, k9 K9, +) (v T, ok bool) { + + m2, ok := m1[k1] + if !ok { + return + } + + m3, ok := m2[k2] + if !ok { + return + } + + m4, ok := m3[k3] + if !ok { + return + } + + m5, ok := m4[k4] + if !ok { + return + } + + m6, ok := m5[k5] + if !ok { + return + } + + m7, ok := m6[k6] + if !ok { + return + } + + m8, ok := m7[k7] + if !ok { + return + } + + m9, ok := m8[k8] + if !ok { + return + } + + v, ok = m9[k9] + return +}