diff --git a/.github/unused_workflows/publish.yml b/.github/unused_workflows/publish.yml deleted file mode 100644 index 5c7aa999eb9..00000000000 --- a/.github/unused_workflows/publish.yml +++ /dev/null @@ -1,161 +0,0 @@ -name: "Publish all libs, Arrow-stack and Docs" - -on: - push: - tags: - - '**' - -env: - BASEDIR: ${{github.workspace}}/arrow-libs - GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-Xmx5g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8" - SONATYPE_USER: ${{ secrets.SONATYPE_USER }} - SONATYPE_PWD: ${{ secrets.SONATYPE_PWD }} - ORG_GRADLE_PROJECT_signingKey: ${{ secrets.ORG_GRADLE_PROJECT_signingKey }} - ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.ORG_GRADLE_PROJECT_signingPassword }} - OSS_USER: '${{ secrets.OSS_USER }}' - OSS_TOKEN: '${{ secrets.OSS_TOKEN }}' - OSS_STAGING_PROFILE_ID: '${{ secrets.OSS_STAGING_PROFILE_ID }}' - SIGNING_KEY_NAME: '${{ secrets.SIGNING_KEY_NAME }}' - SIGNING_KEY_ID: '${{ secrets.SIGNING_KEY_ID }}' - SIGNING_KEY_PASSPHRASE: '${{ secrets.SIGNING_KEY_PASSPHRASE }}' - SIGNING_KEY: '${{ secrets.SIGNING_KEY }}' - GRADLE_PUBLISH_KEY: '${{ secrets.GRADLE_PUBLISH_KEY }}' - GRADLE_PUBLISH_SECRET: '${{ secrets.GRADLE_PUBLISH_SECRET }}' - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_CLOUDFRONT_ID: ${{ secrets.AWS_CLOUDFRONT_ID }} - AWS_DEFAULT_REGION: eu-west-1 - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - JEKYLL_ENV: production - S3_BUCKET: ${{ secrets.S3_BUCKET }} - -jobs: - publish: - timeout-minutes: 90 - runs-on: macos-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Set up Java - uses: actions/setup-java@v3 - with: - distribution: 'zulu' - java-version: 11 - - - name: assemble - uses: gradle/gradle-build-action@v2 - with: - arguments: assemble -Pkotlin.mpp.enableCompatibilityMetadataVariant=true - - - name: Get Arrow version - id: version - run: echo "::set-output name=arrow::$(head -n 1 build/semver/version.txt)" - - - name: Upload reports - if: failure() - uses: actions/upload-artifact@v3 - with: - name: 'reports-${{ matrix.os }}' - path: '**/build/reports/**' - - - name: Publish alpha/beta/rc version - uses: gradle/gradle-build-action@v2 - if: | - contains(steps.version.outputs.arrow, 'alpha') || - contains(steps.version.outputs.arrow, 'beta') || - contains(steps.version.outputs.arrow, 'rc') - with: - arguments: -Pkotlin.mpp.enableCompatibilityMetadataVariant=true publishToSonatype closeAndReleaseSonatypeStagingRepository - - - name: Publish final version - uses: gradle/gradle-build-action@v2 - if: | - !contains(steps.version.outputs.arrow, 'alpha') && - !contains(steps.version.outputs.arrow, 'beta') && - !contains(steps.version.outputs.arrow, 'rc') - with: - arguments: -Pkotlin.mpp.enableCompatibilityMetadataVariant=true publishToSonatype closeSonatypeStagingRepository - - - name: Prepare environment - working-directory: arrow-site - run: | - mkdir $BASEDIR/logs - brew install tree - bundle config set --local path 'vendor/bundle' - bundle install --gemfile Gemfile - - - name: Create API doc - uses: gradle/gradle-build-action@v2 - with: - arguments: -Pkotlin.mpp.enableCompatibilityMetadataVariant=true dokkaGfm - - - name: Build release directory (/docs) - working-directory: arrow-site - if: | - !contains(steps.version.outputs.arrow, 'alpha') && - !contains(steps.version.outputs.arrow, 'beta') && - !contains(steps.version.outputs.arrow, 'rc') - run: | - bundle exec jekyll build -b docs -s docs - tree _site > $BASEDIR/logs/content_docs-${{ steps.version.outputs.arrow }}.log - - - name: Publish documentation (/docs) - working-directory: arrow-site - if: | - !contains(steps.version.outputs.arrow, 'alpha') && - !contains(steps.version.outputs.arrow, 'beta') && - !contains(steps.version.outputs.arrow, 'rc') - run: | - echo ">>> Latest release" >> $BASEDIR/logs/aws_sync.log - ${GITHUB_WORKSPACE}/.github/scripts/sync-docs-with-aws.sh - - - name: Build release directory (/docs/) - working-directory: arrow-site - if: | - !contains(steps.version.outputs.arrow, 'alpha') && - !contains(steps.version.outputs.arrow, 'beta') && - !contains(steps.version.outputs.arrow, 'rc') - run: | - bundle exec jekyll build -b docs/${{ steps.version.outputs.arrow }} -s docs - tree _site > $BASEDIR/logs/content_docs-${{ steps.version.outputs.arrow }}.log - - - name: Publish release directory (/docs/) - working-directory: arrow-site - if: | - !contains(steps.version.outputs.arrow, 'alpha') && - !contains(steps.version.outputs.arrow, 'beta') && - !contains(steps.version.outputs.arrow, 'rc') - run: | - aws s3 sync _site s3://$S3_BUCKET/docs/${{ steps.version.outputs.arrow }} --delete --exclude "/CNAME" --exclude "/code/*" --exclude "/index.html" --exclude "/redirects.json" >> $BASEDIR/logs/aws_sync.log - - - name: Build latest version (/docs/next) - working-directory: arrow-site - run: | - bundle exec jekyll build -b docs/next -s docs - tree _site > $BASEDIR/logs/content_docs-next.log - - - name: Publish latest version (/docs/next) - working-directory: arrow-site - run: | - aws s3 sync _site s3://$S3_BUCKET/docs/next --delete --exclude "/CNAME" --exclude "/code/*" --exclude "/index.html" --exclude "/redirects.json" >> $BASEDIR/logs/aws_sync.log - - - name: Publish sitemap.xml - if: | - !contains(steps.version.outputs.arrow, 'alpha') && - !contains(steps.version.outputs.arrow, 'beta') && - !contains(steps.version.outputs.arrow, 'rc') - run: | - ${GITHUB_WORKSPACE}/.github/scripts/create-sitemap.sh > sitemap.xml - aws s3 cp sitemap.xml s3://$S3_BUCKET/sitemap.xml >> $BASEDIR/logs/aws_sync.log - - - name: Invalidate CloudFront cache - run: aws cloudfront create-invalidation --distribution-id $AWS_CLOUDFRONT_ID --paths "/*" - - - name: List S3 - run: aws s3 ls s3://$S3_BUCKET --recursive --summarize > $BASEDIR/logs/site-content.log - - - uses: actions/upload-artifact@v3 - with: - name: logs - path: arrow-libs/logs. diff --git a/.github/workflows/githubpages.yaml b/.github/workflows/githubpages.yaml index 668b15c8348..832377a0965 100644 --- a/.github/workflows/githubpages.yaml +++ b/.github/workflows/githubpages.yaml @@ -24,7 +24,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f4ec030fb4d..5ebfec4a8d0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,16 +2,14 @@ name: "Publish all libs, Arrow-stack and Docs" on: push: - branch: - - 'arrow-2' -#on: -# workflow_dispatch: -# branches: [main] -# inputs: -# version: -# description: 'Version' -# required: true -# type: string + branches: [ main ] + workflow_dispatch: + branches: [ main ] + inputs: + version: + description: 'Version' + required: true + type: string env: BASEDIR: ${{github.workspace}}/arrow-libs @@ -40,12 +38,12 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} - name: Assemble - run: ./gradlew assemble -Pversion=${{ inputs.version }} + run: ./gradlew assemble -Pversion=${{ inputs.version }} -Penable_wasm=true - name: Upload reports if: failure() @@ -55,4 +53,4 @@ jobs: path: '**/build/reports/**' - name: Publish next major SNAPSHOT version - run: ./gradlew -Pversion=${{ inputs.version }} publishToSonatype closeSonatypeStagingRepository + run: ./gradlew -Pversion=${{ inputs.version }} publish diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index a80b6fcb494..6564cd65e5c 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -27,7 +27,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -57,7 +57,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -87,7 +87,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -116,7 +116,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -145,7 +145,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -175,7 +175,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -205,7 +205,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -233,36 +233,6 @@ jobs: name: 'reports-jvmTest' path: '**/build/reports/**' - jvmK2: - runs-on: ubuntu-latest - timeout-minutes: 60 - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Java - uses: actions/setup-java@v4 - with: - distribution: 'temurin' - java-version: 17 - - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - with: - cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} - - - name: JVM (Kotlin 2.0) tests - run: ./gradlew jvmTest -Pkotlin_version=2.0.0-RC1 -Pksp_version=2.0.0-RC1-1.0.20 -Pkotlin_language_version=2.0 -Pkotlin_api_version=2.0 - - - name: Upload reports - if: failure() - uses: actions/upload-artifact@v4 - with: - name: 'reports-jvmTest' - path: '**/build/reports/**' - js: runs-on: ubuntu-latest timeout-minutes: 30 @@ -279,7 +249,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -313,7 +283,7 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} @@ -343,12 +313,12 @@ jobs: java-version: 17 - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 + uses: gradle/actions/setup-gradle@v4 with: cache-read-only: ${{ github.ref != 'refs/heads/main' && github.ref != 'refs/heads/arrow-2' }} - name: Compile WebAssembly - run: ./gradlew wasmJsTest -Penable_wasm=true --scan + run: ./gradlew wasmJsApiBuild wasmJsJar wasmJsTest -Penable_wasm=true --scan - name: Upload reports if: failure() diff --git a/.gitignore b/.gitignore index f3c1ae9e73a..c06e24528f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ # Created by https://www.gitignore.io/api/android,intellij +### Kotlin ### + +.kotlin + ### Android ### # Built application files *.apk diff --git a/.idea/icon.png b/.idea/icon.png new file mode 100644 index 00000000000..9e8afea8fea Binary files /dev/null and b/.idea/icon.png differ diff --git a/README.md b/README.md index a48316050ec..7761cb93cd8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Maven Central](https://img.shields.io/maven-central/v/io.arrow-kt/arrow-core?color=4caf50&label=latest%20release)](https://maven-badges.herokuapp.com/maven-central/io.arrow-kt/arrow-core) +[![Maven Central](https://img.shields.io/maven-central/v/io.arrow-kt/arrow-core?color=4caf50&label=latest%20release)](https://central.sonatype.com/search?q=g:io.arrow-kt) [![Kotlin version](https://img.shields.io/badge/Kotlin-1.8.10-blue)](https://kotlinlang.org/docs/whatsnew18.html) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0) diff --git a/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api b/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api new file mode 100644 index 00000000000..5e3a534f8e8 --- /dev/null +++ b/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api @@ -0,0 +1,32 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +open annotation class arrow.optics/optics : kotlin/Annotation { // arrow.optics/optics|null[0] + constructor (kotlin/Array = ...) // arrow.optics/optics.|(kotlin.Array){}[0] + + final val targets // arrow.optics/optics.targets|{}targets[0] + final fun (): kotlin/Array // arrow.optics/optics.targets.|(){}[0] +} + +open annotation class arrow/synthetic : kotlin/Annotation { // arrow/synthetic|null[0] + constructor () // arrow/synthetic.|(){}[0] +} + +final enum class arrow.optics/OpticsTarget : kotlin/Enum { // arrow.optics/OpticsTarget|null[0] + enum entry DSL // arrow.optics/OpticsTarget.DSL|null[0] + enum entry ISO // arrow.optics/OpticsTarget.ISO|null[0] + enum entry LENS // arrow.optics/OpticsTarget.LENS|null[0] + enum entry OPTIONAL // arrow.optics/OpticsTarget.OPTIONAL|null[0] + enum entry PRISM // arrow.optics/OpticsTarget.PRISM|null[0] + + final val entries // arrow.optics/OpticsTarget.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // arrow.optics/OpticsTarget.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): arrow.optics/OpticsTarget // arrow.optics/OpticsTarget.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // arrow.optics/OpticsTarget.values|values#static(){}[0] +} diff --git a/arrow-libs/core/arrow-annotations/build.gradle.kts b/arrow-libs/core/arrow-annotations/build.gradle.kts index cbcaa791e5f..1b9e385f48d 100644 --- a/arrow-libs/core/arrow-annotations/build.gradle.kts +++ b/arrow-libs/core/arrow-annotations/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.spotless) } @@ -31,4 +35,10 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } diff --git a/arrow-libs/core/arrow-annotations/gradle.properties b/arrow-libs/core/arrow-annotations/gradle.properties index 4a15118ff2b..b1c84fa0748 100644 --- a/arrow-libs/core/arrow-annotations/gradle.properties +++ b/arrow-libs/core/arrow-annotations/gradle.properties @@ -1,2 +1,2 @@ # Maven publishing configuration -pom.name=Arrow Annotations +POM_NAME=Arrow Annotations diff --git a/arrow-libs/core/arrow-annotations/src/commonMain/kotlin/arrow/optics.kt b/arrow-libs/core/arrow-annotations/src/commonMain/kotlin/arrow/optics/optics.kt similarity index 100% rename from arrow-libs/core/arrow-annotations/src/commonMain/kotlin/arrow/optics.kt rename to arrow-libs/core/arrow-annotations/src/commonMain/kotlin/arrow/optics/optics.kt diff --git a/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api b/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api new file mode 100644 index 00000000000..766f22fd2e9 --- /dev/null +++ b/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api @@ -0,0 +1,92 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final class <#A: kotlin/Any?> arrow.atomic/Atomic { // arrow.atomic/Atomic|null[0] + constructor (#A) // arrow.atomic/Atomic.|(1:0){}[0] + + final fun compareAndSet(#A, #A): kotlin/Boolean // arrow.atomic/Atomic.compareAndSet|compareAndSet(1:0;1:0){}[0] + final fun get(): #A // arrow.atomic/Atomic.get|get(){}[0] + final fun getAndSet(#A): #A // arrow.atomic/Atomic.getAndSet|getAndSet(1:0){}[0] + final fun set(#A) // arrow.atomic/Atomic.set|set(1:0){}[0] +} + +final class arrow.atomic/AtomicBoolean { // arrow.atomic/AtomicBoolean|null[0] + constructor (kotlin/Boolean) // arrow.atomic/AtomicBoolean.|(kotlin.Boolean){}[0] + + final var value // arrow.atomic/AtomicBoolean.value|{}value[0] + final fun (): kotlin/Boolean // arrow.atomic/AtomicBoolean.value.|(){}[0] + final fun (kotlin/Boolean) // arrow.atomic/AtomicBoolean.value.|(kotlin.Boolean){}[0] + + final fun compareAndSet(kotlin/Boolean, kotlin/Boolean): kotlin/Boolean // arrow.atomic/AtomicBoolean.compareAndSet|compareAndSet(kotlin.Boolean;kotlin.Boolean){}[0] + final fun get(): kotlin/Boolean // arrow.atomic/AtomicBoolean.get|get(){}[0] + final fun getAndSet(kotlin/Boolean): kotlin/Boolean // arrow.atomic/AtomicBoolean.getAndSet|getAndSet(kotlin.Boolean){}[0] + final fun set(kotlin/Boolean) // arrow.atomic/AtomicBoolean.set|set(kotlin.Boolean){}[0] +} + +final class arrow.atomic/AtomicInt { // arrow.atomic/AtomicInt|null[0] + constructor (kotlin/Int) // arrow.atomic/AtomicInt.|(kotlin.Int){}[0] + + final fun addAndGet(kotlin/Int): kotlin/Int // arrow.atomic/AtomicInt.addAndGet|addAndGet(kotlin.Int){}[0] + final fun compareAndSet(kotlin/Int, kotlin/Int): kotlin/Boolean // arrow.atomic/AtomicInt.compareAndSet|compareAndSet(kotlin.Int;kotlin.Int){}[0] + final fun decrementAndGet(): kotlin/Int // arrow.atomic/AtomicInt.decrementAndGet|decrementAndGet(){}[0] + final fun get(): kotlin/Int // arrow.atomic/AtomicInt.get|get(){}[0] + final fun getAndSet(kotlin/Int): kotlin/Int // arrow.atomic/AtomicInt.getAndSet|getAndSet(kotlin.Int){}[0] + final fun incrementAndGet(): kotlin/Int // arrow.atomic/AtomicInt.incrementAndGet|incrementAndGet(){}[0] + final fun set(kotlin/Int) // arrow.atomic/AtomicInt.set|set(kotlin.Int){}[0] +} + +final class arrow.atomic/AtomicLong { // arrow.atomic/AtomicLong|null[0] + constructor (kotlin/Long) // arrow.atomic/AtomicLong.|(kotlin.Long){}[0] + + final fun addAndGet(kotlin/Long): kotlin/Long // arrow.atomic/AtomicLong.addAndGet|addAndGet(kotlin.Long){}[0] + final fun compareAndSet(kotlin/Long, kotlin/Long): kotlin/Boolean // arrow.atomic/AtomicLong.compareAndSet|compareAndSet(kotlin.Long;kotlin.Long){}[0] + final fun decrementAndGet(): kotlin/Long // arrow.atomic/AtomicLong.decrementAndGet|decrementAndGet(){}[0] + final fun get(): kotlin/Long // arrow.atomic/AtomicLong.get|get(){}[0] + final fun getAndSet(kotlin/Long): kotlin/Long // arrow.atomic/AtomicLong.getAndSet|getAndSet(kotlin.Long){}[0] + final fun incrementAndGet(): kotlin/Long // arrow.atomic/AtomicLong.incrementAndGet|incrementAndGet(){}[0] + final fun set(kotlin/Long) // arrow.atomic/AtomicLong.set|set(kotlin.Long){}[0] +} + +final var arrow.atomic/value // arrow.atomic/value|@arrow.atomic.Atomic<0:0>{0§}value[0] + final fun <#A1: kotlin/Any?> (arrow.atomic/Atomic<#A1>).(): #A1 // arrow.atomic/value.|@arrow.atomic.Atomic<0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.atomic/Atomic<#A1>).(#A1) // arrow.atomic/value.|@arrow.atomic.Atomic<0:0>(0:0){0§}[0] +final var arrow.atomic/value // arrow.atomic/value|@arrow.atomic.AtomicInt{}value[0] + final fun (arrow.atomic/AtomicInt).(): kotlin/Int // arrow.atomic/value.|@arrow.atomic.AtomicInt(){}[0] + final fun (arrow.atomic/AtomicInt).(kotlin/Int) // arrow.atomic/value.|@arrow.atomic.AtomicInt(kotlin.Int){}[0] +final var arrow.atomic/value // arrow.atomic/value|@arrow.atomic.AtomicLong{}value[0] + final fun (arrow.atomic/AtomicLong).(): kotlin/Long // arrow.atomic/value.|@arrow.atomic.AtomicLong(){}[0] + final fun (arrow.atomic/AtomicLong).(kotlin/Long) // arrow.atomic/value.|@arrow.atomic.AtomicLong(kotlin.Long){}[0] + +final inline fun (arrow.atomic/AtomicBoolean).arrow.atomic/getAndUpdate(kotlin/Function1): kotlin/Boolean // arrow.atomic/getAndUpdate|getAndUpdate@arrow.atomic.AtomicBoolean(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicBoolean).arrow.atomic/loop(kotlin/Function1): kotlin/Nothing // arrow.atomic/loop|loop@arrow.atomic.AtomicBoolean(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicBoolean).arrow.atomic/tryUpdate(kotlin/Function1): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.AtomicBoolean(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicBoolean).arrow.atomic/tryUpdate(kotlin/Function1, kotlin/Function2): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.AtomicBoolean(kotlin.Function1;kotlin.Function2){}[0] +final inline fun (arrow.atomic/AtomicBoolean).arrow.atomic/update(kotlin/Function1) // arrow.atomic/update|update@arrow.atomic.AtomicBoolean(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicBoolean).arrow.atomic/updateAndGet(kotlin/Function1): kotlin/Boolean // arrow.atomic/updateAndGet|updateAndGet@arrow.atomic.AtomicBoolean(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicInt).arrow.atomic/getAndUpdate(kotlin/Function1): kotlin/Int // arrow.atomic/getAndUpdate|getAndUpdate@arrow.atomic.AtomicInt(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicInt).arrow.atomic/loop(kotlin/Function1): kotlin/Nothing // arrow.atomic/loop|loop@arrow.atomic.AtomicInt(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicInt).arrow.atomic/tryUpdate(kotlin/Function1): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.AtomicInt(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicInt).arrow.atomic/tryUpdate(kotlin/Function1, kotlin/Function2): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.AtomicInt(kotlin.Function1;kotlin.Function2){}[0] +final inline fun (arrow.atomic/AtomicInt).arrow.atomic/update(kotlin/Function1) // arrow.atomic/update|update@arrow.atomic.AtomicInt(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicInt).arrow.atomic/updateAndGet(kotlin/Function1): kotlin/Int // arrow.atomic/updateAndGet|updateAndGet@arrow.atomic.AtomicInt(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicLong).arrow.atomic/getAndUpdate(kotlin/Function1): kotlin/Long // arrow.atomic/getAndUpdate|getAndUpdate@arrow.atomic.AtomicLong(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicLong).arrow.atomic/loop(kotlin/Function1): kotlin/Nothing // arrow.atomic/loop|loop@arrow.atomic.AtomicLong(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicLong).arrow.atomic/tryUpdate(kotlin/Function1): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.AtomicLong(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicLong).arrow.atomic/tryUpdate(kotlin/Function1, kotlin/Function2): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.AtomicLong(kotlin.Function1;kotlin.Function2){}[0] +final inline fun (arrow.atomic/AtomicLong).arrow.atomic/update(kotlin/Function1) // arrow.atomic/update|update@arrow.atomic.AtomicLong(kotlin.Function1){}[0] +final inline fun (arrow.atomic/AtomicLong).arrow.atomic/updateAndGet(kotlin/Function1): kotlin/Long // arrow.atomic/updateAndGet|updateAndGet@arrow.atomic.AtomicLong(kotlin.Function1){}[0] +final inline fun <#A: kotlin/Any?, #B: #A, #C: kotlin/Any?> (arrow.atomic/Atomic<#A>).arrow.atomic/update(kotlin/Function1<#A, #B>, kotlin/Function2<#A, #B, #C>): #C // arrow.atomic/update|update@arrow.atomic.Atomic<0:0>(kotlin.Function1<0:0,0:1>;kotlin.Function2<0:0,0:1,0:2>){0§;1§<0:0>;2§}[0] +final inline fun <#A: kotlin/Any?, #B: #A> (arrow.atomic/Atomic<#A>).arrow.atomic/tryUpdate(kotlin/Function1<#A, #B>, kotlin/Function2<#A, #B, kotlin/Unit>): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.Atomic<0:0>(kotlin.Function1<0:0,0:1>;kotlin.Function2<0:0,0:1,kotlin.Unit>){0§;1§<0:0>}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/Atomic<#A>).arrow.atomic/getAndUpdate(kotlin/Function1<#A, #A>): #A // arrow.atomic/getAndUpdate|getAndUpdate@arrow.atomic.Atomic<0:0>(kotlin.Function1<0:0,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/Atomic<#A>).arrow.atomic/loop(kotlin/Function1<#A, kotlin/Unit>): kotlin/Nothing // arrow.atomic/loop|loop@arrow.atomic.Atomic<0:0>(kotlin.Function1<0:0,kotlin.Unit>){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/Atomic<#A>).arrow.atomic/tryUpdate(kotlin/Function1<#A, #A>): kotlin/Boolean // arrow.atomic/tryUpdate|tryUpdate@arrow.atomic.Atomic<0:0>(kotlin.Function1<0:0,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/Atomic<#A>).arrow.atomic/update(kotlin/Function1<#A, #A>) // arrow.atomic/update|update@arrow.atomic.Atomic<0:0>(kotlin.Function1<0:0,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/Atomic<#A>).arrow.atomic/updateAndGet(kotlin/Function1<#A, #A>): #A // arrow.atomic/updateAndGet|updateAndGet@arrow.atomic.Atomic<0:0>(kotlin.Function1<0:0,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/AtomicBoolean).arrow.atomic/update(kotlin/Function1, kotlin/Function2): #A // arrow.atomic/update|update@arrow.atomic.AtomicBoolean(kotlin.Function1;kotlin.Function2){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/AtomicInt).arrow.atomic/update(kotlin/Function1, kotlin/Function2): #A // arrow.atomic/update|update@arrow.atomic.AtomicInt(kotlin.Function1;kotlin.Function2){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.atomic/AtomicLong).arrow.atomic/update(kotlin/Function1, kotlin/Function2): #A // arrow.atomic/update|update@arrow.atomic.AtomicLong(kotlin.Function1;kotlin.Function2){0§}[0] diff --git a/arrow-libs/core/arrow-atomic/build.gradle.kts b/arrow-libs/core/arrow-atomic/build.gradle.kts index 3db0034dcf0..445ae20498d 100644 --- a/arrow-libs/core/arrow-atomic/build.gradle.kts +++ b/arrow-libs/core/arrow-atomic/build.gradle.kts @@ -1,11 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -19,11 +21,8 @@ spotless { apply(from = property("ANIMALSNIFFER_MPP")) kotlin { - targets.all { - compilations.all { - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" - } - } + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") sourceSets { commonMain { @@ -50,10 +49,12 @@ kotlin { } } } -} -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/core/arrow-atomic/gradle.properties b/arrow-libs/core/arrow-atomic/gradle.properties index e9b3987e4af..3a73fe3687d 100644 --- a/arrow-libs/core/arrow-atomic/gradle.properties +++ b/arrow-libs/core/arrow-atomic/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Atomic +POM_NAME=Arrow Atomic # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.api b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.api index 76d49898115..9c383d2ef2e 100644 --- a/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.api +++ b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.api @@ -11,10 +11,6 @@ public final class arrow/AutoCloseScopeKt { public static final fun autoCloseScope (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; } -public final class arrow/AutoCloseableExtensionsKt { - public static final fun install (Larrow/AutoCloseScope;Ljava/lang/AutoCloseable;)Ljava/lang/AutoCloseable; -} - public final class arrow/DefaultAutoCloseScope : arrow/AutoCloseScope { public fun ()V public fun autoClose (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; diff --git a/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api new file mode 100644 index 00000000000..57cfacdb144 --- /dev/null +++ b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api @@ -0,0 +1,22 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +abstract interface arrow/AutoCloseScope { // arrow/AutoCloseScope|null[0] + abstract fun <#A1: kotlin/Any?> autoClose(kotlin/Function0<#A1>, kotlin/Function2<#A1, kotlin/Throwable?, kotlin/Unit>): #A1 // arrow/AutoCloseScope.autoClose|autoClose(kotlin.Function0<0:0>;kotlin.Function2<0:0,kotlin.Throwable?,kotlin.Unit>){0§}[0] + open fun <#A1: kotlin/AutoCloseable> install(#A1): #A1 // arrow/AutoCloseScope.install|install(0:0){0§}[0] +} + +final class arrow/DefaultAutoCloseScope : arrow/AutoCloseScope { // arrow/DefaultAutoCloseScope|null[0] + constructor () // arrow/DefaultAutoCloseScope.|(){}[0] + + final fun <#A1: kotlin/Any?> autoClose(kotlin/Function0<#A1>, kotlin/Function2<#A1, kotlin/Throwable?, kotlin/Unit>): #A1 // arrow/DefaultAutoCloseScope.autoClose|autoClose(kotlin.Function0<0:0>;kotlin.Function2<0:0,kotlin.Throwable?,kotlin.Unit>){0§}[0] + final fun close(kotlin/Throwable?): kotlin/Nothing? // arrow/DefaultAutoCloseScope.close|close(kotlin.Throwable?){}[0] +} + +final fun (kotlin/Throwable).arrow/throwIfFatal(): kotlin/Throwable // arrow/throwIfFatal|throwIfFatal@kotlin.Throwable(){}[0] +final inline fun <#A: kotlin/Any?> arrow/autoCloseScope(kotlin/Function1): #A // arrow/autoCloseScope|autoCloseScope(kotlin.Function1){0§}[0] diff --git a/arrow-libs/core/arrow-autoclose/build.gradle.kts b/arrow-libs/core/arrow-autoclose/build.gradle.kts index 8b226eb44c2..b42aecd9769 100644 --- a/arrow-libs/core/arrow-autoclose/build.gradle.kts +++ b/arrow-libs/core/arrow-autoclose/build.gradle.kts @@ -1,12 +1,14 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.spotless) } @@ -42,9 +44,15 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } // enables context receivers for Jvm Tests tasks.named("compileTestKotlinJvm") { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") } diff --git a/arrow-libs/core/arrow-autoclose/gradle.properties b/arrow-libs/core/arrow-autoclose/gradle.properties index 81f9d59dd34..cdbe5073d01 100644 --- a/arrow-libs/core/arrow-autoclose/gradle.properties +++ b/arrow-libs/core/arrow-autoclose/gradle.properties @@ -1,2 +1,2 @@ # Maven publishing configuration -pom.name=Arrow AutoCloseable +POM_NAME=Arrow AutoCloseable diff --git a/arrow-libs/core/arrow-autoclose/knit.code.include b/arrow-libs/core/arrow-autoclose/knit.code.include index ad6f7cd7937..9aba59e0907 100644 --- a/arrow-libs/core/arrow-autoclose/knit.code.include +++ b/arrow-libs/core/arrow-autoclose/knit.code.include @@ -4,7 +4,6 @@ package ${knit.package}.${knit.name} import arrow.AutoCloseScope import arrow.autoCloseScope -import arrow.install public class Scanner( private val path: String, diff --git a/arrow-libs/core/arrow-autoclose/src/jvmMain/kotlin/arrow/AutoCloseableExtensions.kt b/arrow-libs/core/arrow-autoclose/src/jvmMain/kotlin/arrow/AutoCloseableExtensions.kt deleted file mode 100644 index b642a1b0be7..00000000000 --- a/arrow-libs/core/arrow-autoclose/src/jvmMain/kotlin/arrow/AutoCloseableExtensions.kt +++ /dev/null @@ -1,7 +0,0 @@ -package arrow - -public fun AutoCloseScope.install(autoCloseable: A): A = - autoClose({ autoCloseable }) { a, errorOrNull -> - a.close() - errorOrNull?.let { throw it } - } diff --git a/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-01.kt b/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-01.kt index c6d4ed089e1..c31f45e3e20 100644 --- a/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-01.kt +++ b/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-01.kt @@ -4,7 +4,6 @@ package arrow.autocloseable.examples.exampleAutocloseable01 import arrow.AutoCloseScope import arrow.autoCloseScope -import arrow.install public class Scanner( private val path: String, diff --git a/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-02.kt b/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-02.kt index a4be1d517bd..a944072c24e 100644 --- a/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-02.kt +++ b/arrow-libs/core/arrow-autoclose/src/jvmTest/kotlin/examples/example-autocloseable-02.kt @@ -4,7 +4,6 @@ package arrow.autocloseable.examples.exampleAutocloseable02 import arrow.AutoCloseScope import arrow.autoCloseScope -import arrow.install public class Scanner( private val path: String, diff --git a/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api b/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api new file mode 100644 index 00000000000..360d1a4827c --- /dev/null +++ b/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api @@ -0,0 +1,19 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final value class <#A: kotlin/Any, #B: kotlin/Any> arrow.core/Cache4kMemoizationCache : arrow.core/MemoizationCache<#A, #B> { // arrow.core/Cache4kMemoizationCache|null[0] + constructor (io.github.reactivecircus.cache4k/Cache<#A, #B>) // arrow.core/Cache4kMemoizationCache.|(io.github.reactivecircus.cache4k.Cache<1:0,1:1>){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Cache4kMemoizationCache.equals|equals(kotlin.Any?){}[0] + final fun get(#A): #B? // arrow.core/Cache4kMemoizationCache.get|get(1:0){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Cache4kMemoizationCache.hashCode|hashCode(){}[0] + final fun set(#A, #B): #B // arrow.core/Cache4kMemoizationCache.set|set(1:0;1:1){}[0] + final fun toString(): kotlin/String // arrow.core/Cache4kMemoizationCache.toString|toString(){}[0] +} + +final fun <#A: kotlin/Any, #B: kotlin/Any> arrow.core/buildCache4K(kotlin/Function1, kotlin/Unit>): io.github.reactivecircus.cache4k/Cache<#A, #B> // arrow.core/buildCache4K|buildCache4K(kotlin.Function1,kotlin.Unit>){0§;1§}[0] diff --git a/arrow-libs/core/arrow-cache4k/build.gradle.kts b/arrow-libs/core/arrow-cache4k/build.gradle.kts index 4ab996cb97e..f73ae851bd2 100644 --- a/arrow-libs/core/arrow-cache4k/build.gradle.kts +++ b/arrow-libs/core/arrow-cache4k/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { - `java-library` + // `java-library` id(libs.plugins.kotlin.multiplatform.get().pluginId) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.spotless) } @@ -58,6 +62,12 @@ kotlin { // -- Deprecated as of 1.8.20 -- // iosArm32() // deprecated as of 1.8.20 // watchosX86() + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.named("jvmJar").configure { diff --git a/arrow-libs/core/arrow-cache4k/gradle.properties b/arrow-libs/core/arrow-cache4k/gradle.properties index 2a721969556..958434cf3a6 100644 --- a/arrow-libs/core/arrow-cache4k/gradle.properties +++ b/arrow-libs/core/arrow-cache4k/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow + cache4k +POM_NAME=Arrow + cache4k # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/core/arrow-continuations/api/arrow-continuations.api b/arrow-libs/core/arrow-continuations/api/arrow-continuations.api deleted file mode 100644 index 8816ae2818c..00000000000 --- a/arrow-libs/core/arrow-continuations/api/arrow-continuations.api +++ /dev/null @@ -1,56 +0,0 @@ -public abstract interface class arrow/continuations/Effect { - public static final field Companion Larrow/continuations/Effect$Companion; - public abstract fun control ()Larrow/continuations/generic/DelimitedScope; -} - -public final class arrow/continuations/Effect$Companion { - public final fun restricted (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; - public final fun suspended (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class arrow/continuations/Reset { - public static final field INSTANCE Larrow/continuations/Reset; - public final fun restricted (Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; - public final fun suspended (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class arrow/continuations/generic/AtomicRefKt { - public static final fun getAndUpdate (Ljava/util/concurrent/atomic/AtomicReference;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static final fun loop (Ljava/util/concurrent/atomic/AtomicReference;Lkotlin/jvm/functions/Function1;)Ljava/lang/Void; - public static final fun update (Ljava/util/concurrent/atomic/AtomicReference;Lkotlin/jvm/functions/Function1;)V - public static final fun updateAndGet (Ljava/util/concurrent/atomic/AtomicReference;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; -} - -public class arrow/continuations/generic/ControlThrowable : java/lang/Throwable { - public fun ()V - public fun fillInStackTrace ()Ljava/lang/Throwable; -} - -public final class arrow/continuations/generic/ControlThrowableKt { - public static final field deprecateArrowContinuation Ljava/lang/String; -} - -public abstract interface class arrow/continuations/generic/DelimitedContinuation { - public abstract fun invoke (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class arrow/continuations/generic/DelimitedScope { - public abstract fun shift (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public abstract interface class arrow/continuations/generic/RestrictedScope : arrow/continuations/generic/DelimitedScope { - public abstract fun shift (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public abstract fun shift (Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class arrow/continuations/generic/RestrictedScope$DefaultImpls { - public static fun shift (Larrow/continuations/generic/RestrictedScope;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; -} - -public final class arrow/continuations/generic/ShortCircuit : arrow/continuations/generic/ControlThrowable { - public final fun getRaiseValue ()Ljava/lang/Object; -} - -public abstract interface class arrow/continuations/generic/SuspendedScope : arrow/continuations/generic/DelimitedScope { -} - diff --git a/arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/AtomicRef.kt b/arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/AtomicRef.kt deleted file mode 100644 index 9b845acb0a9..00000000000 --- a/arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/AtomicRef.kt +++ /dev/null @@ -1,31 +0,0 @@ -package arrow.continuations.generic - -@Deprecated(deprecateArrowContinuation) -public actual class AtomicRef actual constructor(initialValue: V) { - private var internalValue: V = initialValue - - /** - * Compare current value with expected and set to new if they're the same. Note, 'compare' is checking - * the actual object id, not 'equals'. - */ - public actual fun compareAndSet(expected: V, new: V): Boolean { - return if (expected === internalValue) { - internalValue = new - true - } else { - false - } - } - - public actual fun getAndSet(value: V): V { - val oldValue = internalValue - internalValue = value - return oldValue - } - - public actual fun get(): V = internalValue - - public actual fun set(value: V) { - internalValue = value - } -} diff --git a/arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/ControlThrowable.kt b/arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/ControlThrowable.kt deleted file mode 100644 index 3ba52914bac..00000000000 --- a/arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/ControlThrowable.kt +++ /dev/null @@ -1,10 +0,0 @@ -package arrow.continuations.generic - -/** - * A [Throwable] class intended for control flow. - * Instance of [ControlThrowable] should **not** be caught, - * and `arrow.core.NonFatal` does not catch this [Throwable]. - * By extension, `Either.catch` and `Raise.catch` also don't catch [ControlThrowable]. - */ -@Deprecated(deprecateArrowContinuation) -public actual open class ControlThrowable : Throwable() diff --git a/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.api b/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.api index c32fffb5af9..63735a36bc8 100644 --- a/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.api +++ b/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.api @@ -1,4 +1,4 @@ -public final class arrow/core/IterableKt { +public final class arrow/core/IterableHighArityKt { public static final fun zip (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lkotlin/jvm/functions/Function21;)Ljava/util/List; public static final fun zip (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lkotlin/jvm/functions/Function20;)Ljava/util/List; public static final fun zip (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lkotlin/jvm/functions/Function19;)Ljava/util/List; @@ -12,7 +12,7 @@ public final class arrow/core/IterableKt { public static final fun zip (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lkotlin/jvm/functions/Function11;)Ljava/util/List; } -public final class arrow/core/MapKt { +public final class arrow/core/MapHighArityKt { public static final fun zip (Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/FunctionN;)Ljava/util/Map; public static final fun zip (Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/Function22;)Ljava/util/Map; public static final fun zip (Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/Function21;)Ljava/util/Map; @@ -27,7 +27,7 @@ public final class arrow/core/MapKt { public static final fun zip (Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/Function12;)Ljava/util/Map; } -public final class arrow/core/NonEmptyListKt { +public final class arrow/core/NonEmptyListHighArityKt { public static final fun zip-7nYrSoo (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlin/jvm/functions/Function13;)Ljava/util/List; public static final fun zip-CK6xqJ4 (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlin/jvm/functions/Function19;)Ljava/util/List; public static final fun zip-Iv5n_ic (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlin/jvm/functions/Function20;)Ljava/util/List; @@ -41,7 +41,7 @@ public final class arrow/core/NonEmptyListKt { public static final fun zip-zlBFgWs (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlin/jvm/functions/Function14;)Ljava/util/List; } -public final class arrow/core/SequenceKt { +public final class arrow/core/SequenceHighArityKt { public static final fun zip (Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/jvm/functions/Function11;)Lkotlin/sequences/Sequence; public static final fun zip (Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/jvm/functions/Function12;)Lkotlin/sequences/Sequence; public static final fun zip (Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/jvm/functions/Function13;)Lkotlin/sequences/Sequence; @@ -56,7 +56,7 @@ public final class arrow/core/SequenceKt { public static final fun zip (Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/sequences/Sequence;Lkotlin/jvm/functions/Function22;)Lkotlin/sequences/Sequence; } -public final class arrow/core/raise/RaiseKt { +public final class arrow/core/raise/RaiseHighArityKt { public static final fun zipOrAccumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function10;)Ljava/lang/Object; public static final fun zipOrAccumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function11;)Ljava/lang/Object; public static final fun zipOrAccumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function12;)Ljava/lang/Object; @@ -68,6 +68,5 @@ public final class arrow/core/raise/RaiseKt { public static final fun zipOrAccumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function18;)Ljava/lang/Object; public static final fun zipOrAccumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function19;)Ljava/lang/Object; public static final fun zipOrAccumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function20;)Ljava/lang/Object; - public static final fun zipOrAccumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function9;)Ljava/lang/Object; } diff --git a/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.klib.api b/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.klib.api new file mode 100644 index 00000000000..ac01bf51b12 --- /dev/null +++ b/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.klib.api @@ -0,0 +1,65 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin.sequences/Sequence<#P>, kotlin.sequences/Sequence<#Q>, kotlin.sequences/Sequence<#R>, kotlin.sequences/Sequence<#S>, kotlin.sequences/Sequence<#T>, kotlin.sequences/Sequence<#U>, kotlin.sequences/Sequence<#V>, kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>): kotlin.sequences/Sequence<#W> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.sequences.Sequence<0:15>;kotlin.sequences.Sequence<0:16>;kotlin.sequences.Sequence<0:17>;kotlin.sequences.Sequence<0:18>;kotlin.sequences.Sequence<0:19>;kotlin.sequences.Sequence<0:20>;kotlin.sequences.Sequence<0:21>;kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin.sequences/Sequence<#P>, kotlin.sequences/Sequence<#Q>, kotlin.sequences/Sequence<#R>, kotlin.sequences/Sequence<#S>, kotlin.sequences/Sequence<#T>, kotlin.sequences/Sequence<#U>, kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>): kotlin.sequences/Sequence<#V> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.sequences.Sequence<0:15>;kotlin.sequences.Sequence<0:16>;kotlin.sequences.Sequence<0:17>;kotlin.sequences.Sequence<0:18>;kotlin.sequences.Sequence<0:19>;kotlin.sequences.Sequence<0:20>;kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin.sequences/Sequence<#P>, kotlin.sequences/Sequence<#Q>, kotlin.sequences/Sequence<#R>, kotlin.sequences/Sequence<#S>, kotlin.sequences/Sequence<#T>, kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>): kotlin.sequences/Sequence<#U> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.sequences.Sequence<0:15>;kotlin.sequences.Sequence<0:16>;kotlin.sequences.Sequence<0:17>;kotlin.sequences.Sequence<0:18>;kotlin.sequences.Sequence<0:19>;kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin.sequences/Sequence<#P>, kotlin.sequences/Sequence<#Q>, kotlin.sequences/Sequence<#R>, kotlin.sequences/Sequence<#S>, kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>): kotlin.sequences/Sequence<#T> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.sequences.Sequence<0:15>;kotlin.sequences.Sequence<0:16>;kotlin.sequences.Sequence<0:17>;kotlin.sequences.Sequence<0:18>;kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin.sequences/Sequence<#P>, kotlin.sequences/Sequence<#Q>, kotlin.sequences/Sequence<#R>, kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>): kotlin.sequences/Sequence<#S> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.sequences.Sequence<0:15>;kotlin.sequences.Sequence<0:16>;kotlin.sequences.Sequence<0:17>;kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin.sequences/Sequence<#P>, kotlin.sequences/Sequence<#Q>, kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>): kotlin.sequences/Sequence<#R> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.sequences.Sequence<0:15>;kotlin.sequences.Sequence<0:16>;kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin.sequences/Sequence<#P>, kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>): kotlin.sequences/Sequence<#Q> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.sequences.Sequence<0:15>;kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin.sequences/Sequence<#O>, kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>): kotlin.sequences/Sequence<#P> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.sequences.Sequence<0:14>;kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin.sequences/Sequence<#N>, kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>): kotlin.sequences/Sequence<#O> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.sequences.Sequence<0:13>;kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin.sequences/Sequence<#M>, kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>): kotlin.sequences/Sequence<#N> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.sequences.Sequence<0:12>;kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin.sequences/Sequence<#L>, kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>): kotlin.sequences/Sequence<#M> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.sequences.Sequence<0:11>;kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin.sequences/Sequence<#K>, kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>): kotlin.sequences/Sequence<#L> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.sequences.Sequence<0:10>;kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?, #X: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin.collections/Map<#A, #Q>, kotlin.collections/Map<#A, #R>, kotlin.collections/Map<#A, #S>, kotlin.collections/Map<#A, #T>, kotlin.collections/Map<#A, #U>, kotlin.collections/Map<#A, #V>, kotlin.collections/Map<#A, #W>, kotlin/Function23<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W, #X>): kotlin.collections/Map<#A, #X> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.collections.Map<0:0,0:16>;kotlin.collections.Map<0:0,0:17>;kotlin.collections.Map<0:0,0:18>;kotlin.collections.Map<0:0,0:19>;kotlin.collections.Map<0:0,0:20>;kotlin.collections.Map<0:0,0:21>;kotlin.collections.Map<0:0,0:22>;kotlin.Function23<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22,0:23>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§;23§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin.collections/Map<#A, #Q>, kotlin.collections/Map<#A, #R>, kotlin.collections/Map<#A, #S>, kotlin.collections/Map<#A, #T>, kotlin.collections/Map<#A, #U>, kotlin.collections/Map<#A, #V>, kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>): kotlin.collections/Map<#A, #W> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.collections.Map<0:0,0:16>;kotlin.collections.Map<0:0,0:17>;kotlin.collections.Map<0:0,0:18>;kotlin.collections.Map<0:0,0:19>;kotlin.collections.Map<0:0,0:20>;kotlin.collections.Map<0:0,0:21>;kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function1, #O>, kotlin/Function1, #P>, kotlin/Function1, #Q>, kotlin/Function1, #R>, kotlin/Function1, #S>, kotlin/Function1, #T>, kotlin/Function1, #U>, kotlin/Function20<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>): #V // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function1,0:14>;kotlin.Function1,0:15>;kotlin.Function1,0:16>;kotlin.Function1,0:17>;kotlin.Function1,0:18>;kotlin.Function1,0:19>;kotlin.Function1,0:20>;kotlin.Function20<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, arrow.core/NonEmptyList<#O>, arrow.core/NonEmptyList<#P>, arrow.core/NonEmptyList<#Q>, arrow.core/NonEmptyList<#R>, arrow.core/NonEmptyList<#S>, arrow.core/NonEmptyList<#T>, arrow.core/NonEmptyList<#U>, kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>): arrow.core/NonEmptyList<#V> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;arrow.core.NonEmptyList<0:14>;arrow.core.NonEmptyList<0:15>;arrow.core.NonEmptyList<0:16>;arrow.core.NonEmptyList<0:17>;arrow.core.NonEmptyList<0:18>;arrow.core.NonEmptyList<0:19>;arrow.core.NonEmptyList<0:20>;kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin.collections/Iterable<#O>, kotlin.collections/Iterable<#P>, kotlin.collections/Iterable<#Q>, kotlin.collections/Iterable<#R>, kotlin.collections/Iterable<#S>, kotlin.collections/Iterable<#T>, kotlin.collections/Iterable<#U>, kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>): kotlin.collections/List<#V> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.collections.Iterable<0:14>;kotlin.collections.Iterable<0:15>;kotlin.collections.Iterable<0:16>;kotlin.collections.Iterable<0:17>;kotlin.collections.Iterable<0:18>;kotlin.collections.Iterable<0:19>;kotlin.collections.Iterable<0:20>;kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin.collections/Map<#A, #Q>, kotlin.collections/Map<#A, #R>, kotlin.collections/Map<#A, #S>, kotlin.collections/Map<#A, #T>, kotlin.collections/Map<#A, #U>, kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>): kotlin.collections/Map<#A, #V> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.collections.Map<0:0,0:16>;kotlin.collections.Map<0:0,0:17>;kotlin.collections.Map<0:0,0:18>;kotlin.collections.Map<0:0,0:19>;kotlin.collections.Map<0:0,0:20>;kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function1, #O>, kotlin/Function1, #P>, kotlin/Function1, #Q>, kotlin/Function1, #R>, kotlin/Function1, #S>, kotlin/Function1, #T>, kotlin/Function19<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>): #U // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function1,0:14>;kotlin.Function1,0:15>;kotlin.Function1,0:16>;kotlin.Function1,0:17>;kotlin.Function1,0:18>;kotlin.Function1,0:19>;kotlin.Function19<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, arrow.core/NonEmptyList<#O>, arrow.core/NonEmptyList<#P>, arrow.core/NonEmptyList<#Q>, arrow.core/NonEmptyList<#R>, arrow.core/NonEmptyList<#S>, arrow.core/NonEmptyList<#T>, kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>): arrow.core/NonEmptyList<#U> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;arrow.core.NonEmptyList<0:14>;arrow.core.NonEmptyList<0:15>;arrow.core.NonEmptyList<0:16>;arrow.core.NonEmptyList<0:17>;arrow.core.NonEmptyList<0:18>;arrow.core.NonEmptyList<0:19>;kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin.collections/Iterable<#O>, kotlin.collections/Iterable<#P>, kotlin.collections/Iterable<#Q>, kotlin.collections/Iterable<#R>, kotlin.collections/Iterable<#S>, kotlin.collections/Iterable<#T>, kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>): kotlin.collections/List<#U> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.collections.Iterable<0:14>;kotlin.collections.Iterable<0:15>;kotlin.collections.Iterable<0:16>;kotlin.collections.Iterable<0:17>;kotlin.collections.Iterable<0:18>;kotlin.collections.Iterable<0:19>;kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin.collections/Map<#A, #Q>, kotlin.collections/Map<#A, #R>, kotlin.collections/Map<#A, #S>, kotlin.collections/Map<#A, #T>, kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>): kotlin.collections/Map<#A, #U> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.collections.Map<0:0,0:16>;kotlin.collections.Map<0:0,0:17>;kotlin.collections.Map<0:0,0:18>;kotlin.collections.Map<0:0,0:19>;kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function1, #O>, kotlin/Function1, #P>, kotlin/Function1, #Q>, kotlin/Function1, #R>, kotlin/Function1, #S>, kotlin/Function18<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>): #T // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function1,0:14>;kotlin.Function1,0:15>;kotlin.Function1,0:16>;kotlin.Function1,0:17>;kotlin.Function1,0:18>;kotlin.Function18<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, arrow.core/NonEmptyList<#O>, arrow.core/NonEmptyList<#P>, arrow.core/NonEmptyList<#Q>, arrow.core/NonEmptyList<#R>, arrow.core/NonEmptyList<#S>, kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>): arrow.core/NonEmptyList<#T> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;arrow.core.NonEmptyList<0:14>;arrow.core.NonEmptyList<0:15>;arrow.core.NonEmptyList<0:16>;arrow.core.NonEmptyList<0:17>;arrow.core.NonEmptyList<0:18>;kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin.collections/Iterable<#O>, kotlin.collections/Iterable<#P>, kotlin.collections/Iterable<#Q>, kotlin.collections/Iterable<#R>, kotlin.collections/Iterable<#S>, kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>): kotlin.collections/List<#T> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.collections.Iterable<0:14>;kotlin.collections.Iterable<0:15>;kotlin.collections.Iterable<0:16>;kotlin.collections.Iterable<0:17>;kotlin.collections.Iterable<0:18>;kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin.collections/Map<#A, #Q>, kotlin.collections/Map<#A, #R>, kotlin.collections/Map<#A, #S>, kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>): kotlin.collections/Map<#A, #T> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.collections.Map<0:0,0:16>;kotlin.collections.Map<0:0,0:17>;kotlin.collections.Map<0:0,0:18>;kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function1, #O>, kotlin/Function1, #P>, kotlin/Function1, #Q>, kotlin/Function1, #R>, kotlin/Function17<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>): #S // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function1,0:14>;kotlin.Function1,0:15>;kotlin.Function1,0:16>;kotlin.Function1,0:17>;kotlin.Function17<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, arrow.core/NonEmptyList<#O>, arrow.core/NonEmptyList<#P>, arrow.core/NonEmptyList<#Q>, arrow.core/NonEmptyList<#R>, kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>): arrow.core/NonEmptyList<#S> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;arrow.core.NonEmptyList<0:14>;arrow.core.NonEmptyList<0:15>;arrow.core.NonEmptyList<0:16>;arrow.core.NonEmptyList<0:17>;kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin.collections/Iterable<#O>, kotlin.collections/Iterable<#P>, kotlin.collections/Iterable<#Q>, kotlin.collections/Iterable<#R>, kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>): kotlin.collections/List<#S> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.collections.Iterable<0:14>;kotlin.collections.Iterable<0:15>;kotlin.collections.Iterable<0:16>;kotlin.collections.Iterable<0:17>;kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin.collections/Map<#A, #Q>, kotlin.collections/Map<#A, #R>, kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>): kotlin.collections/Map<#A, #S> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.collections.Map<0:0,0:16>;kotlin.collections.Map<0:0,0:17>;kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function1, #O>, kotlin/Function1, #P>, kotlin/Function1, #Q>, kotlin/Function16<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>): #R // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function1,0:14>;kotlin.Function1,0:15>;kotlin.Function1,0:16>;kotlin.Function16<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, arrow.core/NonEmptyList<#O>, arrow.core/NonEmptyList<#P>, arrow.core/NonEmptyList<#Q>, kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>): arrow.core/NonEmptyList<#R> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;arrow.core.NonEmptyList<0:14>;arrow.core.NonEmptyList<0:15>;arrow.core.NonEmptyList<0:16>;kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin.collections/Iterable<#O>, kotlin.collections/Iterable<#P>, kotlin.collections/Iterable<#Q>, kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>): kotlin.collections/List<#R> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.collections.Iterable<0:14>;kotlin.collections.Iterable<0:15>;kotlin.collections.Iterable<0:16>;kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin.collections/Map<#A, #Q>, kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>): kotlin.collections/Map<#A, #R> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.collections.Map<0:0,0:16>;kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function1, #O>, kotlin/Function1, #P>, kotlin/Function15<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>): #Q // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function1,0:14>;kotlin.Function1,0:15>;kotlin.Function15<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, arrow.core/NonEmptyList<#O>, arrow.core/NonEmptyList<#P>, kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>): arrow.core/NonEmptyList<#Q> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;arrow.core.NonEmptyList<0:14>;arrow.core.NonEmptyList<0:15>;kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin.collections/Iterable<#O>, kotlin.collections/Iterable<#P>, kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>): kotlin.collections/List<#Q> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.collections.Iterable<0:14>;kotlin.collections.Iterable<0:15>;kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin.collections/Map<#A, #P>, kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>): kotlin.collections/Map<#A, #Q> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.collections.Map<0:0,0:15>;kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function1, #O>, kotlin/Function14<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>): #P // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function1,0:14>;kotlin.Function14<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, arrow.core/NonEmptyList<#O>, kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>): arrow.core/NonEmptyList<#P> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;arrow.core.NonEmptyList<0:14>;kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin.collections/Iterable<#O>, kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>): kotlin.collections/List<#P> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.collections.Iterable<0:14>;kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin.collections/Map<#A, #O>, kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>): kotlin.collections/Map<#A, #P> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.collections.Map<0:0,0:14>;kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function1, #N>, kotlin/Function13<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>): #O // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function1,0:13>;kotlin.Function13<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, arrow.core/NonEmptyList<#N>, kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>): arrow.core/NonEmptyList<#O> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;arrow.core.NonEmptyList<0:13>;kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin.collections/Iterable<#N>, kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>): kotlin.collections/List<#O> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.collections.Iterable<0:13>;kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin.collections/Map<#A, #N>, kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>): kotlin.collections/Map<#A, #O> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.collections.Map<0:0,0:13>;kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function1, #M>, kotlin/Function12<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>): #N // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function1,0:12>;kotlin.Function12<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, arrow.core/NonEmptyList<#M>, kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>): arrow.core/NonEmptyList<#N> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;arrow.core.NonEmptyList<0:12>;kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin.collections/Iterable<#M>, kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>): kotlin.collections/List<#N> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.collections.Iterable<0:12>;kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin.collections/Map<#A, #M>, kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>): kotlin.collections/Map<#A, #N> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.collections.Map<0:0,0:12>;kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function1, #L>, kotlin/Function11<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>): #M // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function1,0:11>;kotlin.Function11<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, arrow.core/NonEmptyList<#L>, kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>): arrow.core/NonEmptyList<#M> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;arrow.core.NonEmptyList<0:11>;kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin.collections/Iterable<#L>, kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>): kotlin.collections/List<#M> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.collections.Iterable<0:11>;kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin.collections/Map<#A, #L>, kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>): kotlin.collections/Map<#A, #M> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.collections.Map<0:0,0:11>;kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function1, #K>, kotlin/Function10<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>): #L // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function1,0:10>;kotlin.Function10<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (arrow.core/NonEmptyList<#A>).arrow.core/zip(arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#C>, arrow.core/NonEmptyList<#D>, arrow.core/NonEmptyList<#E>, arrow.core/NonEmptyList<#F>, arrow.core/NonEmptyList<#G>, arrow.core/NonEmptyList<#H>, arrow.core/NonEmptyList<#I>, arrow.core/NonEmptyList<#J>, arrow.core/NonEmptyList<#K>, kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>): arrow.core/NonEmptyList<#L> // arrow.core/zip|zip@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;arrow.core.NonEmptyList<0:9>;arrow.core.NonEmptyList<0:10>;kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin.collections/Iterable<#K>, kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>): kotlin.collections/List<#L> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.collections.Iterable<0:10>;kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] diff --git a/arrow-libs/core/arrow-core-high-arity/build.gradle.kts b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts index f074a6c5b2d..a6d64bbe79f 100644 --- a/arrow-libs/core/arrow-core-high-arity/build.gradle.kts +++ b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts @@ -1,11 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -35,4 +37,10 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } diff --git a/arrow-libs/core/arrow-core-high-arity/gradle.properties b/arrow-libs/core/arrow-core-high-arity/gradle.properties index 69c77227ce6..0516ca6583d 100644 --- a/arrow-libs/core/arrow-core-high-arity/gradle.properties +++ b/arrow-libs/core/arrow-core-high-arity/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Core High Arity +POM_NAME=Arrow Core High Arity # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Iterable.kt b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Iterable.kt index 3ee2d0e90ec..1340ad400e9 100644 --- a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Iterable.kt +++ b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Iterable.kt @@ -1,5 +1,9 @@ +@file:JvmName("IterableHighArityKt") + package arrow.core +import kotlin.jvm.JvmName + public inline fun Iterable.zip( t2: Iterable, t3: Iterable, diff --git a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/NonEmptyList.kt b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/NonEmptyList.kt index 5cb6a8c70bc..7d92cb16508 100644 --- a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/NonEmptyList.kt +++ b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/NonEmptyList.kt @@ -1,5 +1,9 @@ +@file:JvmName("NonEmptyListHighArityKt") + package arrow.core +import kotlin.jvm.JvmName + public inline fun NonEmptyList.zip( t1: NonEmptyList, t2: NonEmptyList, diff --git a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Sequence.kt b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Sequence.kt index cf72b6f2cdd..8779a7be05b 100644 --- a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Sequence.kt +++ b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/Sequence.kt @@ -1,5 +1,9 @@ +@file:JvmName("SequenceHighArityKt") + package arrow.core +import kotlin.jvm.JvmName + public fun Sequence.zip( s2: Sequence, s3: Sequence, diff --git a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/map.kt b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/map.kt index 9db033f4def..9aaf4776e7b 100644 --- a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/map.kt +++ b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/map.kt @@ -1,5 +1,9 @@ +@file:JvmName("MapHighArityKt") + package arrow.core +import kotlin.jvm.JvmName + @Suppress("UNCHECKED_CAST") public inline fun Map.zip( m1: Map, diff --git a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt index fb9f36506d1..954fbb29263 100644 --- a/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt +++ b/arrow-libs/core/arrow-core-high-arity/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt @@ -1,13 +1,10 @@ -@file:OptIn(ExperimentalTypeInference::class, ExperimentalContracts::class) +@file:OptIn(ExperimentalTypeInference::class, ExperimentalContracts::class, ExperimentalRaiseAccumulateApi::class) @file:JvmMultifileClass -@file:JvmName("RaiseKt") +@file:JvmName("RaiseHighArityKt") package arrow.core.raise -import arrow.core.EmptyValue -import arrow.core.EmptyValue.unbox import arrow.core.NonEmptyList -import arrow.core.toNonEmptyListOrNull import kotlin.contracts.ExperimentalContracts import kotlin.contracts.InvocationKind.AT_MOST_ONCE import kotlin.contracts.contract @@ -15,34 +12,6 @@ import kotlin.experimental.ExperimentalTypeInference import kotlin.jvm.JvmMultifileClass import kotlin.jvm.JvmName -@RaiseDSL -public inline fun Raise>.zipOrAccumulate( - @BuilderInference action1: RaiseAccumulate.() -> T1, - @BuilderInference action2: RaiseAccumulate.() -> T2, - @BuilderInference action3: RaiseAccumulate.() -> T3, - @BuilderInference action4: RaiseAccumulate.() -> T4, - @BuilderInference action5: RaiseAccumulate.() -> T5, - @BuilderInference action6: RaiseAccumulate.() -> T6, - @BuilderInference action7: RaiseAccumulate.() -> T7, - @BuilderInference action8: RaiseAccumulate.() -> T8, - @BuilderInference action9: RaiseAccumulate.() -> T9, - block: (T1, T2, T3, T4, T5, T6, T7, T8, T9) -> R, -): R { - contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9)) -} - @RaiseDSL public inline fun Raise>.zipOrAccumulate( @BuilderInference action1: RaiseAccumulate.() -> T1, @@ -58,19 +27,19 @@ public inline fun Raise R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + block(a, b, c, d, e, f, g, h, i, j) + } } @RaiseDSL @@ -89,20 +58,20 @@ public inline fun Raise block: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + block(a, b, c, d, e, f, g, h, i, j, k) + } } @RaiseDSL @@ -122,21 +91,21 @@ public inline fun block: (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + block(a, b, c, d, e, f, g, h, i, j, k, l) + } } @RaiseDSL @@ -157,22 +126,22 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + block(a, b, c, d, e, f, g, h, i, j, k, l, m) + } } @RaiseDSL @@ -194,23 +163,23 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t14 = recover({ action14(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13), unbox(t14)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + val n by accumulating(action14) + block(a, b, c, d, e, f, g, h, i, j, k, l, m, n) + } } @RaiseDSL @@ -233,24 +202,24 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t14 = recover({ action14(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t15 = recover({ action15(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13), unbox(t14), unbox(t15)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + val n by accumulating(action14) + val o by accumulating(action15) + block(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) + } } @RaiseDSL @@ -274,25 +243,25 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t14 = recover({ action14(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t15 = recover({ action15(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t16 = recover({ action16(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13), unbox(t14), unbox(t15), unbox(t16)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + val n by accumulating(action14) + val o by accumulating(action15) + val p by accumulating(action16) + block(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) + } } @RaiseDSL @@ -317,26 +286,26 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t14 = recover({ action14(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t15 = recover({ action15(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t16 = recover({ action16(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t17 = recover({ action17(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13), unbox(t14), unbox(t15), unbox(t16), unbox(t17)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + val n by accumulating(action14) + val o by accumulating(action15) + val p by accumulating(action16) + val q by accumulating(action17) + block(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) + } } @RaiseDSL @@ -362,27 +331,27 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t14 = recover({ action14(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t15 = recover({ action15(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t16 = recover({ action16(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t17 = recover({ action17(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t18 = recover({ action18(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13), unbox(t14), unbox(t15), unbox(t16), unbox(t17), unbox(t18)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + val n by accumulating(action14) + val o by accumulating(action15) + val p by accumulating(action16) + val q by accumulating(action17) + val r by accumulating(action18) + block(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r) + } } @RaiseDSL @@ -409,28 +378,28 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t14 = recover({ action14(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t15 = recover({ action15(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t16 = recover({ action16(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t17 = recover({ action17(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t18 = recover({ action18(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t19 = recover({ action19(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13), unbox(t14), unbox(t15), unbox(t16), unbox(t17), unbox(t18), unbox(t19)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + val n by accumulating(action14) + val o by accumulating(action15) + val p by accumulating(action16) + val q by accumulating(action17) + val r by accumulating(action18) + val s by accumulating(action19) + block(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s) + } } @RaiseDSL @@ -458,28 +427,28 @@ public inline fun R, ): R { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val t1 = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t2 = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t3 = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t4 = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t5 = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t6 = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t7 = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t8 = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t9 = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t10 = recover({ action10(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t11 = recover({ action11(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t12 = recover({ action12(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t13 = recover({ action13(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t14 = recover({ action14(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t15 = recover({ action15(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t16 = recover({ action16(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t17 = recover({ action17(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t18 = recover({ action18(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t19 = recover({ action19(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val t20 = recover({ action20(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(t1), unbox(t2), unbox(t3), unbox(t4), unbox(t5), unbox(t6), unbox(t7), unbox(t8), unbox(t9), unbox(t10), unbox(t11), unbox(t12), unbox(t13), unbox(t14), unbox(t15), unbox(t16), unbox(t17), unbox(t18), unbox(t19), unbox(t20)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + val j by accumulating(action10) + val k by accumulating(action11) + val l by accumulating(action12) + val m by accumulating(action13) + val n by accumulating(action14) + val o by accumulating(action15) + val p by accumulating(action16) + val q by accumulating(action17) + val r by accumulating(action18) + val s by accumulating(action19) + val t by accumulating(action20) + block(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t) + } } diff --git a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts index 3b632457569..27346d0ab9a 100644 --- a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts +++ b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.jvm.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.serialization) // Needed for testing only alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) @@ -18,8 +22,8 @@ spotless { apply(from = property("ANIMALSNIFFER")) dependencies { - compileOnly(libs.kotlin.stdlib) - compileOnly(projects.arrowCore) + implementation(libs.kotlin.stdlib) + api(projects.arrowCore) compileOnly(libs.squareup.retrofit.lib) testImplementation(projects.arrowCore) @@ -36,6 +40,13 @@ dependencies { testImplementation(libs.squareup.moshi.kotlin) } +kotlin { + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } +} + tasks.jar { manifest { attributes["Automatic-Module-Name"] = "arrow.core.retrofit" diff --git a/arrow-libs/core/arrow-core-retrofit/gradle.properties b/arrow-libs/core/arrow-core-retrofit/gradle.properties index 71cc2b472fd..95f00c8c2a0 100644 --- a/arrow-libs/core/arrow-core-retrofit/gradle.properties +++ b/arrow-libs/core/arrow-core-retrofit/gradle.properties @@ -1,2 +1,2 @@ # Maven publishing configuration -pom.name=Arrow-Core-Retrofit +POM_NAME=Arrow-Core-Retrofit diff --git a/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.api b/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.api index 2471e2079cd..3f398f5e73b 100644 --- a/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.api +++ b/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.api @@ -43,3 +43,7 @@ public final class arrow/core/serialization/OptionSerializer : kotlinx/serializa public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V } +public final class arrow/core/serialization/SerializersModuleKt { + public static final fun getArrowModule ()Lkotlinx/serialization/modules/SerializersModule; +} + diff --git a/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.klib.api b/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.klib.api new file mode 100644 index 00000000000..a5f851d2b09 --- /dev/null +++ b/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.klib.api @@ -0,0 +1,60 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.serialization/EitherSerializer : kotlinx.serialization/KSerializer> { // arrow.core.serialization/EitherSerializer|null[0] + constructor (kotlinx.serialization/KSerializer<#A>, kotlinx.serialization/KSerializer<#B>) // arrow.core.serialization/EitherSerializer.|(kotlinx.serialization.KSerializer<1:0>;kotlinx.serialization.KSerializer<1:1>){}[0] + + final val descriptor // arrow.core.serialization/EitherSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/EitherSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): arrow.core/Either<#A, #B> // arrow.core.serialization/EitherSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, arrow.core/Either<#A, #B>) // arrow.core.serialization/EitherSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;arrow.core.Either<1:0,1:1>){}[0] +} + +final class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.serialization/IorSerializer : kotlinx.serialization/KSerializer> { // arrow.core.serialization/IorSerializer|null[0] + constructor (kotlinx.serialization/KSerializer<#A>, kotlinx.serialization/KSerializer<#B>) // arrow.core.serialization/IorSerializer.|(kotlinx.serialization.KSerializer<1:0>;kotlinx.serialization.KSerializer<1:1>){}[0] + + final val descriptor // arrow.core.serialization/IorSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/IorSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): arrow.core/Ior<#A, #B> // arrow.core.serialization/IorSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, arrow.core/Ior<#A, #B>) // arrow.core.serialization/IorSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;arrow.core.Ior<1:0,1:1>){}[0] +} + +final class <#A: kotlin/Any?> arrow.core.serialization/NonEmptyListSerializer : kotlinx.serialization/KSerializer> { // arrow.core.serialization/NonEmptyListSerializer|null[0] + constructor (kotlinx.serialization/KSerializer<#A>) // arrow.core.serialization/NonEmptyListSerializer.|(kotlinx.serialization.KSerializer<1:0>){}[0] + + final val descriptor // arrow.core.serialization/NonEmptyListSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/NonEmptyListSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): arrow.core/NonEmptyList<#A> // arrow.core.serialization/NonEmptyListSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, arrow.core/NonEmptyList<#A>) // arrow.core.serialization/NonEmptyListSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;arrow.core.NonEmptyList<1:0>){}[0] +} + +final class <#A: kotlin/Any?> arrow.core.serialization/NonEmptySetSerializer : kotlinx.serialization/KSerializer> { // arrow.core.serialization/NonEmptySetSerializer|null[0] + constructor (kotlinx.serialization/KSerializer<#A>) // arrow.core.serialization/NonEmptySetSerializer.|(kotlinx.serialization.KSerializer<1:0>){}[0] + + final val descriptor // arrow.core.serialization/NonEmptySetSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/NonEmptySetSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): arrow.core/NonEmptySet<#A> // arrow.core.serialization/NonEmptySetSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, arrow.core/NonEmptySet<#A>) // arrow.core.serialization/NonEmptySetSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;arrow.core.NonEmptySet<1:0>){}[0] +} + +final class <#A: kotlin/Any?> arrow.core.serialization/OptionSerializer : kotlinx.serialization/KSerializer> { // arrow.core.serialization/OptionSerializer|null[0] + constructor (kotlinx.serialization/KSerializer<#A>) // arrow.core.serialization/OptionSerializer.|(kotlinx.serialization.KSerializer<1:0>){}[0] + + final val descriptor // arrow.core.serialization/OptionSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/OptionSerializer.descriptor.|(){}[0] + + final fun deserialize(kotlinx.serialization.encoding/Decoder): arrow.core/Option<#A> // arrow.core.serialization/OptionSerializer.deserialize|deserialize(kotlinx.serialization.encoding.Decoder){}[0] + final fun serialize(kotlinx.serialization.encoding/Encoder, arrow.core/Option<#A>) // arrow.core.serialization/OptionSerializer.serialize|serialize(kotlinx.serialization.encoding.Encoder;arrow.core.Option<1:0>){}[0] +} + +final val arrow.core.serialization/ArrowModule // arrow.core.serialization/ArrowModule|{}ArrowModule[0] + final fun (): kotlinx.serialization.modules/SerializersModule // arrow.core.serialization/ArrowModule.|(){}[0] diff --git a/arrow-libs/core/arrow-core-serialization/build.gradle.kts b/arrow-libs/core/arrow-core-serialization/build.gradle.kts index 6ba4450f34f..3b4f18c59e4 100644 --- a/arrow-libs/core/arrow-core-serialization/build.gradle.kts +++ b/arrow-libs/core/arrow-core-serialization/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) id(libs.plugins.kotlinx.serialization.get().pluginId) @@ -39,6 +43,12 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/core/arrow-core-serialization/gradle.properties b/arrow-libs/core/arrow-core-serialization/gradle.properties index 6b320e3d840..63d2ba6e5d9 100644 --- a/arrow-libs/core/arrow-core-serialization/gradle.properties +++ b/arrow-libs/core/arrow-core-serialization/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Core Serialization +POM_NAME=Arrow Core Serialization # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/OptionSerializer.kt b/arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/OptionSerializer.kt index 68d1996f4ae..8bee2c44c2b 100644 --- a/arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/OptionSerializer.kt +++ b/arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/OptionSerializer.kt @@ -2,13 +2,14 @@ package arrow.core.serialization import arrow.core.Option import arrow.core.toOption +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.KSerializer import kotlinx.serialization.builtins.nullable import kotlinx.serialization.descriptors.SerialDescriptor import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder -public class OptionSerializer( +public class OptionSerializer( elementSerializer: KSerializer ) : KSerializer> { private val nullableSerializer: KSerializer = elementSerializer.nullable @@ -20,3 +21,9 @@ public class OptionSerializer( override fun deserialize(decoder: Decoder): Option = nullableSerializer.deserialize(decoder).toOption() } + +@OptIn(ExperimentalSerializationApi::class) +private val KSerializer.nullable get() = + @Suppress("UNCHECKED_CAST") + if (descriptor.isNullable) (this as KSerializer) + else (this as KSerializer).nullable diff --git a/arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/SerializersModule.kt b/arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/SerializersModule.kt new file mode 100644 index 00000000000..1f2e8425ba4 --- /dev/null +++ b/arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/SerializersModule.kt @@ -0,0 +1,13 @@ +package arrow.core.serialization + +import arrow.core.* +import kotlinx.serialization.modules.SerializersModule + +public val ArrowModule: SerializersModule = SerializersModule { + contextual(Either::class) { (a, b) -> EitherSerializer(a, b) } + contextual(Ior::class) { (a, b) -> IorSerializer(a, b) } + contextual(NonEmptyList::class) { (t) -> NonEmptyListSerializer(t) } + contextual(NonEmptySet::class) { (t) -> NonEmptySetSerializer(t) } + contextual(Option::class) { (t) -> OptionSerializer(t) } +} + diff --git a/arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/BackAgainTest.kt b/arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/BackAgainTest.kt index f76c7c0c804..11976fcea67 100644 --- a/arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/BackAgainTest.kt +++ b/arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/BackAgainTest.kt @@ -12,7 +12,9 @@ import arrow.core.Either import arrow.core.Ior import arrow.core.NonEmptyList import arrow.core.NonEmptySet +import arrow.core.None import arrow.core.Option +import arrow.core.Some import io.kotest.matchers.shouldBe import io.kotest.property.Arb import io.kotest.property.checkAll @@ -47,11 +49,11 @@ data class NonEmptyListInside(val thing: NonEmptyList) @Serializable data class NonEmptySetInside(val thing: NonEmptySet) -inline fun backAgain(generator: Arb) = +inline fun backAgain(generator: Arb, json: Json = Json) = runTest { checkAll(generator) { e -> - val result = Json.encodeToJsonElement(e) - val back = Json.decodeFromJsonElement(result) + val result = json.encodeToJsonElement(e) + val back = json.decodeFromJsonElement(result) back shouldBe e } } @@ -71,4 +73,12 @@ class BackAgainTest { backAgain(Arb.nonEmptyList(Arb.int()).map(::NonEmptyListInside)) @Test fun backAgainNonEmptySet() = backAgain(Arb.nonEmptySet(Arb.int()).map(::NonEmptySetInside)) + + // capturing the current functionality of the OptionSerializer + @Test fun backAgainFlattensSomeNullToNone() { + val container: OptionInside = OptionInside(Some(null)) + val result = Json.encodeToJsonElement>(container) + val back = Json.decodeFromJsonElement>(result) + back shouldBe OptionInside(None) // not `container` + } } diff --git a/arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/ModuleTest.kt b/arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/ModuleTest.kt new file mode 100644 index 00000000000..b4c4a3360ce --- /dev/null +++ b/arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/ModuleTest.kt @@ -0,0 +1,81 @@ +package arrow.core.serialization + +import arrow.core.* +import io.kotest.matchers.shouldBe +import io.kotest.property.Arb +import io.kotest.property.arbitrary.int +import io.kotest.property.arbitrary.map +import io.kotest.property.arbitrary.string +import kotlinx.serialization.Contextual +import kotlinx.serialization.Serializable +import kotlinx.serialization.builtins.nullable +import kotlinx.serialization.builtins.serializer +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.decodeFromJsonElement +import kotlinx.serialization.json.encodeToJsonElement +import kotlinx.serialization.modules.SerializersModule +import kotlin.test.Test + + +@Serializable +data class ContextualEitherInside(@Contextual val thing: Either) + +@Serializable +data class ContextualIorInside(@Contextual val thing: Ior) + +@Serializable +data class ContextualOptionInside(@Contextual val thing: Option) + +@Serializable +data class ContextualNonEmptyListInside(@Contextual val thing: NonEmptyList) + +@Serializable +data class ContextualNonEmptySetInside(@Contextual val thing: NonEmptySet) + +class ModuleTest { + private val jsonWithModule = Json { + serializersModule = SerializersModule { + include(ArrowModule) + } + } + + @Test + fun backAgainEither() = + backAgain(Arb.either(Arb.string(), Arb.int()), jsonWithModule) + + @Test + fun backAgainIor() = + backAgain(Arb.ior(Arb.string(), Arb.int()), jsonWithModule) + + @Test + fun backAgainOption() = + backAgain(Arb.option(Arb.string()), jsonWithModule) + + @Test + fun backAgainNonEmptyList() = + backAgain(Arb.nonEmptyList(Arb.int()), jsonWithModule) + + @Test + fun backAgainNonEmptySet() = + backAgain(Arb.nonEmptySet(Arb.int()), jsonWithModule) + + @Test + fun backAgainContextualEither() = + backAgain(Arb.either(Arb.string(), Arb.int()).map(::ContextualEitherInside), jsonWithModule) + + @Test + fun backAgainContextualIor() = + backAgain(Arb.ior(Arb.string(), Arb.int()).map(::ContextualIorInside), jsonWithModule) + + @Test + fun backAgainContextualOption() = + backAgain(Arb.option(Arb.string()).map(::ContextualOptionInside), jsonWithModule) + + @Test + fun backAgainContextualNonEmptyList() = + backAgain(Arb.nonEmptyList(Arb.int()).map(::ContextualNonEmptyListInside), jsonWithModule) + + @Test + fun backAgainContextualNonEmptySet() = + backAgain(Arb.nonEmptySet(Arb.int()).map(::ContextualNonEmptySetInside), jsonWithModule) +} diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 5ad4961fbb0..7bd1af56b99 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -150,6 +150,7 @@ public final class arrow/core/EitherKt { public static final fun flatMap (Larrow/core/Either;Lkotlin/jvm/functions/Function1;)Larrow/core/Either; public static final fun flatten (Larrow/core/Either;)Larrow/core/Either; public static final fun getOrElse (Larrow/core/Either;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun handleErrorWith (Larrow/core/Either;Lkotlin/jvm/functions/Function1;)Larrow/core/Either; public static final fun left (Ljava/lang/Object;)Larrow/core/Either; public static final fun leftNel (Ljava/lang/Object;)Larrow/core/Either; public static final fun merge (Larrow/core/Either;)Ljava/lang/Object; @@ -244,6 +245,7 @@ public final class arrow/core/IorKt { public static final fun flatMap (Larrow/core/Ior;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Larrow/core/Ior; public static final fun flatten (Larrow/core/Ior;Lkotlin/jvm/functions/Function2;)Larrow/core/Ior; public static final fun getOrElse (Larrow/core/Ior;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun handleErrorWith (Larrow/core/Ior;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;)Larrow/core/Ior; public static final fun leftIor (Ljava/lang/Object;)Larrow/core/Ior; public static final fun rightIor (Ljava/lang/Object;)Larrow/core/Ior; public static final fun toIorNel (Larrow/core/Ior;)Larrow/core/Ior; @@ -292,8 +294,6 @@ public final class arrow/core/IterableKt { public static final fun unalign (Ljava/lang/Iterable;)Lkotlin/Pair; public static final fun unalign (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lkotlin/Pair; public static final fun unweave (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Ljava/util/List; - public static final fun unzip (Ljava/lang/Iterable;)Lkotlin/Pair; - public static final fun unzip (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Lkotlin/Pair; public static final fun zip (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lkotlin/jvm/functions/Function10;)Ljava/util/List; public static final fun zip (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lkotlin/jvm/functions/Function9;)Ljava/util/List; public static final fun zip (Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lkotlin/jvm/functions/Function8;)Ljava/util/List; @@ -309,12 +309,14 @@ public final class arrow/core/MapKt { public static final fun align (Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/Function1;)Ljava/util/Map; public static final fun combine (Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/Function2;)Ljava/util/Map; public static final fun filterOption (Ljava/util/Map;)Ljava/util/Map; - public static final fun flatMap (Ljava/util/Map;Lkotlin/jvm/functions/Function1;)Ljava/util/Map; + public static final fun flatMapValues (Ljava/util/Map;Lkotlin/jvm/functions/Function1;)Ljava/util/Map; public static final fun fold (Ljava/util/Map;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; public static final fun getOrNone (Ljava/util/Map;Ljava/lang/Object;)Larrow/core/Option; - public static final fun mapNotNull (Ljava/util/Map;Lkotlin/jvm/functions/Function1;)Ljava/util/Map; public static final fun mapOrAccumulate (Ljava/util/Map;Lkotlin/jvm/functions/Function2;)Larrow/core/Either; public static final fun mapOrAccumulate (Ljava/util/Map;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)Larrow/core/Either; + public static final fun mapValuesNotNull (Ljava/util/Map;Lkotlin/jvm/functions/Function1;)Ljava/util/Map; + public static final fun mapValuesOrAccumulate (Ljava/util/Map;Lkotlin/jvm/functions/Function2;)Larrow/core/Either; + public static final fun mapValuesOrAccumulate (Ljava/util/Map;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)Larrow/core/Either; public static final fun padZip (Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map; public static final fun padZip (Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function3;)Ljava/util/Map; public static final fun padZip (Ljava/util/Map;Ljava/util/Map;Lkotlin/jvm/functions/Function3;)Ljava/util/Map; @@ -502,7 +504,7 @@ public final class arrow/core/NonEmptySet : arrow/core/NonEmptyCollection, java/ public fun addAll (Ljava/util/Collection;)Z public static final synthetic fun box-impl (Ljava/util/Set;)Larrow/core/NonEmptySet; public fun clear ()V - public static fun constructor-impl (Ljava/lang/Object;Ljava/util/Set;)Ljava/util/Set; + public static fun constructor-impl (Ljava/lang/Object;Ljava/lang/Iterable;)Ljava/util/Set; public fun contains (Ljava/lang/Object;)Z public static fun contains-impl (Ljava/util/Set;Ljava/lang/Object;)Z public fun containsAll (Ljava/util/Collection;)Z @@ -559,6 +561,8 @@ public final class arrow/core/NonEmptySet : arrow/core/NonEmptyCollection, java/ } public final class arrow/core/NonEmptySetKt { + public static final fun mapOrAccumulate-EyVDDLY (Ljava/util/Set;Lkotlin/jvm/functions/Function2;)Larrow/core/Either; + public static final fun mapOrAccumulate-jkbboic (Ljava/util/Set;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)Larrow/core/Either; public static final fun nonEmptySetOf (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/util/Set; public static final fun toNonEmptySetOrNone (Ljava/lang/Iterable;)Larrow/core/Option; public static final synthetic fun toNonEmptySetOrNone (Ljava/util/Set;)Larrow/core/Option; @@ -597,15 +601,15 @@ public abstract class arrow/core/Option { public final fun toEither (Lkotlin/jvm/functions/Function0;)Larrow/core/Either; public final fun toList ()Ljava/util/List; public fun toString ()Ljava/lang/String; - public static final fun tryCatch (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)Larrow/core/Option; - public static final fun tryCatchOrNone (Lkotlin/jvm/functions/Function0;)Larrow/core/Option; + public static final fun tryCatch (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Larrow/core/Option; + public static final fun tryCatchOrNone (Lkotlin/jvm/functions/Function1;)Larrow/core/Option; } public final class arrow/core/Option$Companion { public final fun fromNullable (Ljava/lang/Object;)Larrow/core/Option; public final fun invoke (Ljava/lang/Object;)Larrow/core/Option; - public final fun tryCatch (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;)Larrow/core/Option; - public final fun tryCatchOrNone (Lkotlin/jvm/functions/Function0;)Larrow/core/Option; + public final fun tryCatch (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Larrow/core/Option; + public final fun tryCatchOrNone (Lkotlin/jvm/functions/Function1;)Larrow/core/Option; } public final class arrow/core/OptionKt { @@ -890,11 +894,15 @@ public final class arrow/core/raise/DefaultRaise : arrow/core/raise/Raise { public abstract interface annotation class arrow/core/raise/DelicateRaiseApi : java/lang/annotation/Annotation { } +public abstract interface annotation class arrow/core/raise/ExperimentalRaiseAccumulateApi : java/lang/annotation/Annotation { +} + public abstract interface annotation class arrow/core/raise/ExperimentalTraceApi : java/lang/annotation/Annotation { } public final class arrow/core/raise/IorRaise : arrow/core/raise/Raise { public fun (Lkotlin/jvm/functions/Function2;Ljava/util/concurrent/atomic/AtomicReference;Larrow/core/raise/Raise;)V + public final fun accumulate (Ljava/lang/Object;)V public fun bind (Larrow/core/Either;)Ljava/lang/Object; public final fun bind (Larrow/core/Ior;)Ljava/lang/Object; public fun bind (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; @@ -909,6 +917,7 @@ public final class arrow/core/raise/IorRaise : arrow/core/raise/Raise { public final fun bindAllIor (Ljava/util/Set;)Ljava/util/Set; public final fun combine (Ljava/lang/Object;)Ljava/lang/Object; public final fun getCombineError ()Lkotlin/jvm/functions/Function2; + public final fun getOrAccumulate (Larrow/core/Either;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public fun invoke (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public fun invoke (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun raise (Ljava/lang/Object;)Ljava/lang/Void; @@ -945,6 +954,8 @@ public class arrow/core/raise/RaiseAccumulate : arrow/core/raise/Raise { public final fun _mapOrAccumulate (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Ljava/util/List; public final fun _mapOrAccumulate (Ljava/util/List;Lkotlin/jvm/functions/Function2;)Ljava/util/List; public final fun _mapOrAccumulate (Ljava/util/Set;Lkotlin/jvm/functions/Function2;)Ljava/util/Set; + public final fun accumulating (Lkotlin/jvm/functions/Function1;)Larrow/core/raise/RaiseAccumulate$Value; + public final fun addErrors (Ljava/lang/Iterable;)V public fun bind (Larrow/core/Either;)Ljava/lang/Object; public fun bind (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public fun bind (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -952,17 +963,42 @@ public class arrow/core/raise/RaiseAccumulate : arrow/core/raise/Raise { public fun bindAll (Ljava/util/Map;)Ljava/util/Map; public fun bindAll-1TN0_VU (Ljava/util/Set;)Ljava/util/Set; public fun bindAll-vcjLgH4 (Ljava/util/List;)Ljava/util/List; + public final fun bindAllOrAccumulate (Ljava/lang/Iterable;)Larrow/core/raise/RaiseAccumulate$Value; public final fun bindNel (Larrow/core/Either;)Ljava/lang/Object; + public final fun bindNelOrAccumulate (Larrow/core/Either;)Larrow/core/raise/RaiseAccumulate$Value; + public final fun bindOrAccumulate (Larrow/core/Either;)Larrow/core/raise/RaiseAccumulate$Value; + public final fun ensureNotNullOrAccumulate (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;)V + public final fun ensureOrAccumulate (ZLkotlin/jvm/functions/Function0;)V public final fun getRaise ()Larrow/core/raise/Raise; + public final fun hasErrors ()Z public fun invoke (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public fun invoke (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun mapOrAccumulate (Ljava/lang/Iterable;Lkotlin/jvm/functions/Function2;)Ljava/util/List; + public final fun mapOrAccumulate (Ljava/util/Map;Lkotlin/jvm/functions/Function2;)Ljava/util/List; public final fun mapOrAccumulate-FrVv2gs (Ljava/util/List;Lkotlin/jvm/functions/Function2;)Ljava/util/List; public final fun mapOrAccumulate-nfMsDo0 (Ljava/util/Set;Lkotlin/jvm/functions/Function2;)Ljava/util/Set; + public final fun mapValuesOrAccumulate (Ljava/util/Map;Lkotlin/jvm/functions/Function2;)Ljava/util/Map; public fun raise (Ljava/lang/Object;)Ljava/lang/Void; + public final fun raiseErrors ()Ljava/lang/Void; public final fun withNel (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; } +public final class arrow/core/raise/RaiseAccumulate$Error : arrow/core/raise/RaiseAccumulate$Value { + public fun (Larrow/core/raise/RaiseAccumulate;)V + public synthetic fun getValue (Ljava/lang/Void;Lkotlin/reflect/KProperty;)Ljava/lang/Object; + public fun getValue (Ljava/lang/Void;Lkotlin/reflect/KProperty;)Ljava/lang/Void; +} + +public final class arrow/core/raise/RaiseAccumulate$Ok : arrow/core/raise/RaiseAccumulate$Value { + public fun (Larrow/core/raise/RaiseAccumulate;Ljava/lang/Object;)V + public fun getValue (Ljava/lang/Void;Lkotlin/reflect/KProperty;)Ljava/lang/Object; +} + +public abstract class arrow/core/raise/RaiseAccumulate$Value { + public fun (Larrow/core/raise/RaiseAccumulate;)V + public abstract fun getValue (Ljava/lang/Void;Lkotlin/reflect/KProperty;)Ljava/lang/Object; +} + public abstract class arrow/core/raise/RaiseCancellationException : java/util/concurrent/CancellationException { public synthetic fun (Ljava/lang/Object;Larrow/core/raise/Raise;Lkotlin/jvm/internal/DefaultConstructorMarker;)V } @@ -974,6 +1010,8 @@ public final class arrow/core/raise/RaiseKt { public static final fun _fold (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun _foldOrThrow (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun _merge (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun accumulate (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun accumulate (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun catch (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun catch (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function1; public static final fun catch (Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function2; @@ -1015,6 +1053,8 @@ public final class arrow/core/raise/RaiseKt { public static final fun mapOrAccumulate (Larrow/core/raise/Raise;Lkotlin/sequences/Sequence;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)Ljava/util/List; public static final fun mapOrAccumulate--YW8gn4 (Larrow/core/raise/Raise;Ljava/util/Set;Lkotlin/jvm/functions/Function2;)Ljava/util/Set; public static final fun mapOrAccumulate-l8IBlHg (Larrow/core/raise/Raise;Ljava/util/List;Lkotlin/jvm/functions/Function2;)Ljava/util/List; + public static final fun mapValuesOrAccumulate (Larrow/core/raise/Raise;Ljava/util/Map;Lkotlin/jvm/functions/Function2;)Ljava/util/Map; + public static final fun mapValuesOrAccumulate (Larrow/core/raise/Raise;Ljava/util/Map;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;)Ljava/util/Map; public static final fun merge (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static final fun merge (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun nullable (Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api new file mode 100644 index 00000000000..ddf1dd333e5 --- /dev/null +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -0,0 +1,1012 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +open annotation class arrow.core.raise/DelicateRaiseApi : kotlin/Annotation { // arrow.core.raise/DelicateRaiseApi|null[0] + constructor () // arrow.core.raise/DelicateRaiseApi.|(){}[0] +} + +open annotation class arrow.core.raise/ExperimentalRaiseAccumulateApi : kotlin/Annotation { // arrow.core.raise/ExperimentalRaiseAccumulateApi|null[0] + constructor () // arrow.core.raise/ExperimentalRaiseAccumulateApi.|(){}[0] +} + +open annotation class arrow.core.raise/ExperimentalTraceApi : kotlin/Annotation { // arrow.core.raise/ExperimentalTraceApi|null[0] + constructor () // arrow.core.raise/ExperimentalTraceApi.|(){}[0] +} + +open annotation class arrow.core.raise/RaiseDSL : kotlin/Annotation { // arrow.core.raise/RaiseDSL|null[0] + constructor () // arrow.core.raise/RaiseDSL.|(){}[0] +} + +abstract interface <#A: in kotlin/Any?> arrow.core.raise/Raise { // arrow.core.raise/Raise|null[0] + abstract fun raise(#A): kotlin/Nothing // arrow.core.raise/Raise.raise|raise(1:0){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, arrow.core/Either<#A, #B1>>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/Raise.bindAll|bindAll@kotlin.collections.Map<0:0,arrow.core.Either<1:0,0:1>>(){0§;1§}[0] + open fun <#A1: kotlin/Any?> (arrow.core/Either<#A, #A1>).bind(): #A1 // arrow.core.raise/Raise.bind|bind@arrow.core.Either<1:0,0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/Raise.bindAll|bindAll@arrow.core.NonEmptyList>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/Raise.bindAll|bindAll@arrow.core.NonEmptySet>(){0§}[0] + open fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/Raise.bindAll|bindAll@kotlin.collections.Iterable>(){0§}[0] + open fun <#A1: kotlin/Any?> (kotlin/Function1, #A1>).bind(): #A1 // arrow.core.raise/Raise.bind|bind@kotlin.Function1,0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (kotlin/Function1, #A1>).invoke(): #A1 // arrow.core.raise/Raise.invoke|invoke@kotlin.Function1,0:0>(){0§}[0] + open suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A1>).bind(): #A1 // arrow.core.raise/Raise.bind|bind@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] + open suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A1>).invoke(): #A1 // arrow.core.raise/Raise.invoke|invoke@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] +} + +abstract interface <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core/MemoizationCache { // arrow.core/MemoizationCache|null[0] + abstract fun get(#A): #B? // arrow.core/MemoizationCache.get|get(1:0){}[0] + abstract fun set(#A, #B): #B // arrow.core/MemoizationCache.set|set(1:0;1:1){}[0] +} + +abstract interface <#A: out kotlin/Any?> arrow.core/NonEmptyCollection : kotlin.collections/Collection<#A> { // arrow.core/NonEmptyCollection|null[0] + abstract val head // arrow.core/NonEmptyCollection.head|{}head[0] + abstract fun (): #A // arrow.core/NonEmptyCollection.head.|(){}[0] + + abstract fun lastOrNull(): #A // arrow.core/NonEmptyCollection.lastOrNull|lastOrNull(){}[0] + abstract fun plus(#A): arrow.core/NonEmptyCollection<#A> // arrow.core/NonEmptyCollection.plus|plus(1:0){}[0] + abstract fun plus(kotlin.collections/Iterable<#A>): arrow.core/NonEmptyCollection<#A> // arrow.core/NonEmptyCollection.plus|plus(kotlin.collections.Iterable<1:0>){}[0] + open fun <#A1: kotlin/Any?> distinctBy(kotlin/Function1<#A, #A1>): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyCollection.distinctBy|distinctBy(kotlin.Function1<1:0,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> flatMap(kotlin/Function1<#A, arrow.core/NonEmptyCollection<#A1>>): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptyCollection.flatMap|flatMap(kotlin.Function1<1:0,arrow.core.NonEmptyCollection<0:0>>){0§}[0] + open fun <#A1: kotlin/Any?> map(kotlin/Function1<#A, #A1>): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptyCollection.map|map(kotlin.Function1<1:0,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> mapIndexed(kotlin/Function2): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptyCollection.mapIndexed|mapIndexed(kotlin.Function2){0§}[0] + open fun <#A1: kotlin/Any?> zip(arrow.core/NonEmptyCollection<#A1>): arrow.core/NonEmptyCollection> // arrow.core/NonEmptyCollection.zip|zip(arrow.core.NonEmptyCollection<0:0>){0§}[0] + open fun distinct(): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyCollection.distinct|distinct(){}[0] + open fun firstOrNull(): #A // arrow.core/NonEmptyCollection.firstOrNull|firstOrNull(){}[0] + open fun isEmpty(): kotlin/Boolean // arrow.core/NonEmptyCollection.isEmpty|isEmpty(){}[0] + open fun toNonEmptyList(): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyCollection.toNonEmptyList|toNonEmptyList(){}[0] + open fun toNonEmptySet(): arrow.core/NonEmptySet<#A> // arrow.core/NonEmptyCollection.toNonEmptySet|toNonEmptySet(){}[0] +} + +final class <#A: in kotlin/Any?> arrow.core.raise/SingletonRaise : arrow.core.raise/Raise<#A> { // arrow.core.raise/SingletonRaise|null[0] + constructor (arrow.core.raise/Raise) // arrow.core.raise/SingletonRaise.|(arrow.core.raise.Raise){}[0] + + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, #B1?>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@kotlin.collections.Map<0:0,0:1?>(){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, arrow.core/Option<#B1>>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@kotlin.collections.Map<0:0,arrow.core.Option<0:1>>(){0§;1§}[0] + final fun <#A1: kotlin/Any?> (#A1?).bind(): #A1 // arrow.core.raise/SingletonRaise.bind|bind@0:0?(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList<#A1?>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@arrow.core.NonEmptyList<0:0?>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@arrow.core.NonEmptyList>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet<#A1?>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@arrow.core.NonEmptySet<0:0?>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@arrow.core.NonEmptySet>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Option<#A1>).bind(): #A1 // arrow.core.raise/SingletonRaise.bind|bind@arrow.core.Option<0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin.collections/Iterable<#A1?>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@kotlin.collections.Iterable<0:0?>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/SingletonRaise.bindAll|bindAll@kotlin.collections.Iterable>(){0§}[0] + final fun <#A1: kotlin/Any?> ensureNotNull(#A1?): #A1 // arrow.core.raise/SingletonRaise.ensureNotNull|ensureNotNull(0:0?){0§}[0] + final fun ensure(kotlin/Boolean) // arrow.core.raise/SingletonRaise.ensure|ensure(kotlin.Boolean){}[0] + final fun raise(#A): kotlin/Nothing // arrow.core.raise/SingletonRaise.raise|raise(1:0){}[0] + final fun raise(): kotlin/Nothing // arrow.core.raise/SingletonRaise.raise|raise(){}[0] + final inline fun <#A1: kotlin/Any?> ignoreErrors(kotlin/Function1, #A1>): #A1 // arrow.core.raise/SingletonRaise.ignoreErrors|ignoreErrors(kotlin.Function1,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> recover(kotlin/Function1, #A1>, kotlin/Function0<#A1>): #A1 // arrow.core.raise/SingletonRaise.recover|recover(kotlin.Function1,0:0>;kotlin.Function0<0:0>){0§}[0] +} + +final class <#A: kotlin/Any?> arrow.core.raise/IorRaise : arrow.core.raise/Raise<#A> { // arrow.core.raise/IorRaise|null[0] + constructor (kotlin/Function2<#A, #A, #A>, arrow.atomic/Atomic, arrow.core.raise/Raise<#A>) // arrow.core.raise/IorRaise.|(kotlin.Function2<1:0,1:0,1:0>;arrow.atomic.Atomic;arrow.core.raise.Raise<1:0>){}[0] + + final val combineError // arrow.core.raise/IorRaise.combineError|{}combineError[0] + final fun (): kotlin/Function2<#A, #A, #A> // arrow.core.raise/IorRaise.combineError.|(){}[0] + + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, arrow.core/Either<#A, #B1>>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/IorRaise.bindAll|bindAll@kotlin.collections.Map<0:0,arrow.core.Either<1:0,0:1>>(){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, arrow.core/Ior<#A, #B1>>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/IorRaise.bindAll|bindAll@kotlin.collections.Map<0:0,arrow.core.Ior<1:0,0:1>>(){0§;1§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Either<#A, #A1>).bind(): #A1 // arrow.core.raise/IorRaise.bind|bind@arrow.core.Either<1:0,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Either<#A, #A1>).getOrAccumulate(kotlin/Function1<#A, #A1>): #A1 // arrow.core.raise/IorRaise.getOrAccumulate|getOrAccumulate@arrow.core.Either<1:0,0:0>(kotlin.Function1<1:0,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Ior<#A, #A1>).bind(): #A1 // arrow.core.raise/IorRaise.bind|bind@arrow.core.Ior<1:0,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/IorRaise.bindAll|bindAll@arrow.core.NonEmptyList>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/IorRaise.bindAll|bindAll@arrow.core.NonEmptyList>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/IorRaise.bindAll|bindAll@arrow.core.NonEmptySet>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/IorRaise.bindAll|bindAll@arrow.core.NonEmptySet>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/IorRaise.bindAll|bindAll@kotlin.collections.Iterable>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/IorRaise.bindAll|bindAll@kotlin.collections.Iterable>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin/Function1, #A1>).bind(): #A1 // arrow.core.raise/IorRaise.bind|bind@kotlin.Function1,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin/Function1, #A1>).invoke(): #A1 // arrow.core.raise/IorRaise.invoke|invoke@kotlin.Function1,0:0>(){0§}[0] + final fun accumulate(#A) // arrow.core.raise/IorRaise.accumulate|accumulate(1:0){}[0] + final fun combine(#A): #A // arrow.core.raise/IorRaise.combine|combine(1:0){}[0] + final fun raise(#A): kotlin/Nothing // arrow.core.raise/IorRaise.raise|raise(1:0){}[0] + final inline fun <#A1: kotlin/Any?> recover(kotlin/Function1, #A1>, kotlin/Function1<#A, #A1>): #A1 // arrow.core.raise/IorRaise.recover|recover(kotlin.Function1,0:0>;kotlin.Function1<1:0,0:0>){0§}[0] + final suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A1>).bind(): #A1 // arrow.core.raise/IorRaise.bind|bind@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] + final suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A1>).invoke(): #A1 // arrow.core.raise/IorRaise.invoke|invoke@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] +} + +final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: out kotlin/Any?, #E: out kotlin/Any?, #F: out kotlin/Any?, #G: out kotlin/Any?, #H: out kotlin/Any?, #I: out kotlin/Any?> arrow.core/Tuple9 { // arrow.core/Tuple9|null[0] + constructor (#A, #B, #C, #D, #E, #F, #G, #H, #I) // arrow.core/Tuple9.|(1:0;1:1;1:2;1:3;1:4;1:5;1:6;1:7;1:8){}[0] + + final val eighth // arrow.core/Tuple9.eighth|{}eighth[0] + final fun (): #H // arrow.core/Tuple9.eighth.|(){}[0] + final val fifth // arrow.core/Tuple9.fifth|{}fifth[0] + final fun (): #E // arrow.core/Tuple9.fifth.|(){}[0] + final val first // arrow.core/Tuple9.first|{}first[0] + final fun (): #A // arrow.core/Tuple9.first.|(){}[0] + final val fourth // arrow.core/Tuple9.fourth|{}fourth[0] + final fun (): #D // arrow.core/Tuple9.fourth.|(){}[0] + final val ninth // arrow.core/Tuple9.ninth|{}ninth[0] + final fun (): #I // arrow.core/Tuple9.ninth.|(){}[0] + final val second // arrow.core/Tuple9.second|{}second[0] + final fun (): #B // arrow.core/Tuple9.second.|(){}[0] + final val seventh // arrow.core/Tuple9.seventh|{}seventh[0] + final fun (): #G // arrow.core/Tuple9.seventh.|(){}[0] + final val sixth // arrow.core/Tuple9.sixth|{}sixth[0] + final fun (): #F // arrow.core/Tuple9.sixth.|(){}[0] + final val third // arrow.core/Tuple9.third|{}third[0] + final fun (): #C // arrow.core/Tuple9.third.|(){}[0] + + final fun component1(): #A // arrow.core/Tuple9.component1|component1(){}[0] + final fun component2(): #B // arrow.core/Tuple9.component2|component2(){}[0] + final fun component3(): #C // arrow.core/Tuple9.component3|component3(){}[0] + final fun component4(): #D // arrow.core/Tuple9.component4|component4(){}[0] + final fun component5(): #E // arrow.core/Tuple9.component5|component5(){}[0] + final fun component6(): #F // arrow.core/Tuple9.component6|component6(){}[0] + final fun component7(): #G // arrow.core/Tuple9.component7|component7(){}[0] + final fun component8(): #H // arrow.core/Tuple9.component8|component8(){}[0] + final fun component9(): #I // arrow.core/Tuple9.component9|component9(){}[0] + final fun copy(#A = ..., #B = ..., #C = ..., #D = ..., #E = ..., #F = ..., #G = ..., #H = ..., #I = ...): arrow.core/Tuple9<#A, #B, #C, #D, #E, #F, #G, #H, #I> // arrow.core/Tuple9.copy|copy(1:0;1:1;1:2;1:3;1:4;1:5;1:6;1:7;1:8){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Tuple9.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Tuple9.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Tuple9.toString|toString(){}[0] + + final object Companion // arrow.core/Tuple9.Companion|null[0] +} + +final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: out kotlin/Any?, #E: out kotlin/Any?, #F: out kotlin/Any?, #G: out kotlin/Any?, #H: out kotlin/Any?> arrow.core/Tuple8 { // arrow.core/Tuple8|null[0] + constructor (#A, #B, #C, #D, #E, #F, #G, #H) // arrow.core/Tuple8.|(1:0;1:1;1:2;1:3;1:4;1:5;1:6;1:7){}[0] + + final val eighth // arrow.core/Tuple8.eighth|{}eighth[0] + final fun (): #H // arrow.core/Tuple8.eighth.|(){}[0] + final val fifth // arrow.core/Tuple8.fifth|{}fifth[0] + final fun (): #E // arrow.core/Tuple8.fifth.|(){}[0] + final val first // arrow.core/Tuple8.first|{}first[0] + final fun (): #A // arrow.core/Tuple8.first.|(){}[0] + final val fourth // arrow.core/Tuple8.fourth|{}fourth[0] + final fun (): #D // arrow.core/Tuple8.fourth.|(){}[0] + final val second // arrow.core/Tuple8.second|{}second[0] + final fun (): #B // arrow.core/Tuple8.second.|(){}[0] + final val seventh // arrow.core/Tuple8.seventh|{}seventh[0] + final fun (): #G // arrow.core/Tuple8.seventh.|(){}[0] + final val sixth // arrow.core/Tuple8.sixth|{}sixth[0] + final fun (): #F // arrow.core/Tuple8.sixth.|(){}[0] + final val third // arrow.core/Tuple8.third|{}third[0] + final fun (): #C // arrow.core/Tuple8.third.|(){}[0] + + final fun component1(): #A // arrow.core/Tuple8.component1|component1(){}[0] + final fun component2(): #B // arrow.core/Tuple8.component2|component2(){}[0] + final fun component3(): #C // arrow.core/Tuple8.component3|component3(){}[0] + final fun component4(): #D // arrow.core/Tuple8.component4|component4(){}[0] + final fun component5(): #E // arrow.core/Tuple8.component5|component5(){}[0] + final fun component6(): #F // arrow.core/Tuple8.component6|component6(){}[0] + final fun component7(): #G // arrow.core/Tuple8.component7|component7(){}[0] + final fun component8(): #H // arrow.core/Tuple8.component8|component8(){}[0] + final fun copy(#A = ..., #B = ..., #C = ..., #D = ..., #E = ..., #F = ..., #G = ..., #H = ...): arrow.core/Tuple8<#A, #B, #C, #D, #E, #F, #G, #H> // arrow.core/Tuple8.copy|copy(1:0;1:1;1:2;1:3;1:4;1:5;1:6;1:7){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Tuple8.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Tuple8.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Tuple8.toString|toString(){}[0] + + final object Companion // arrow.core/Tuple8.Companion|null[0] +} + +final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: out kotlin/Any?, #E: out kotlin/Any?, #F: out kotlin/Any?, #G: out kotlin/Any?> arrow.core/Tuple7 { // arrow.core/Tuple7|null[0] + constructor (#A, #B, #C, #D, #E, #F, #G) // arrow.core/Tuple7.|(1:0;1:1;1:2;1:3;1:4;1:5;1:6){}[0] + + final val fifth // arrow.core/Tuple7.fifth|{}fifth[0] + final fun (): #E // arrow.core/Tuple7.fifth.|(){}[0] + final val first // arrow.core/Tuple7.first|{}first[0] + final fun (): #A // arrow.core/Tuple7.first.|(){}[0] + final val fourth // arrow.core/Tuple7.fourth|{}fourth[0] + final fun (): #D // arrow.core/Tuple7.fourth.|(){}[0] + final val second // arrow.core/Tuple7.second|{}second[0] + final fun (): #B // arrow.core/Tuple7.second.|(){}[0] + final val seventh // arrow.core/Tuple7.seventh|{}seventh[0] + final fun (): #G // arrow.core/Tuple7.seventh.|(){}[0] + final val sixth // arrow.core/Tuple7.sixth|{}sixth[0] + final fun (): #F // arrow.core/Tuple7.sixth.|(){}[0] + final val third // arrow.core/Tuple7.third|{}third[0] + final fun (): #C // arrow.core/Tuple7.third.|(){}[0] + + final fun component1(): #A // arrow.core/Tuple7.component1|component1(){}[0] + final fun component2(): #B // arrow.core/Tuple7.component2|component2(){}[0] + final fun component3(): #C // arrow.core/Tuple7.component3|component3(){}[0] + final fun component4(): #D // arrow.core/Tuple7.component4|component4(){}[0] + final fun component5(): #E // arrow.core/Tuple7.component5|component5(){}[0] + final fun component6(): #F // arrow.core/Tuple7.component6|component6(){}[0] + final fun component7(): #G // arrow.core/Tuple7.component7|component7(){}[0] + final fun copy(#A = ..., #B = ..., #C = ..., #D = ..., #E = ..., #F = ..., #G = ...): arrow.core/Tuple7<#A, #B, #C, #D, #E, #F, #G> // arrow.core/Tuple7.copy|copy(1:0;1:1;1:2;1:3;1:4;1:5;1:6){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Tuple7.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Tuple7.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Tuple7.toString|toString(){}[0] + + final object Companion // arrow.core/Tuple7.Companion|null[0] +} + +final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: out kotlin/Any?, #E: out kotlin/Any?, #F: out kotlin/Any?> arrow.core/Tuple6 { // arrow.core/Tuple6|null[0] + constructor (#A, #B, #C, #D, #E, #F) // arrow.core/Tuple6.|(1:0;1:1;1:2;1:3;1:4;1:5){}[0] + + final val fifth // arrow.core/Tuple6.fifth|{}fifth[0] + final fun (): #E // arrow.core/Tuple6.fifth.|(){}[0] + final val first // arrow.core/Tuple6.first|{}first[0] + final fun (): #A // arrow.core/Tuple6.first.|(){}[0] + final val fourth // arrow.core/Tuple6.fourth|{}fourth[0] + final fun (): #D // arrow.core/Tuple6.fourth.|(){}[0] + final val second // arrow.core/Tuple6.second|{}second[0] + final fun (): #B // arrow.core/Tuple6.second.|(){}[0] + final val sixth // arrow.core/Tuple6.sixth|{}sixth[0] + final fun (): #F // arrow.core/Tuple6.sixth.|(){}[0] + final val third // arrow.core/Tuple6.third|{}third[0] + final fun (): #C // arrow.core/Tuple6.third.|(){}[0] + + final fun component1(): #A // arrow.core/Tuple6.component1|component1(){}[0] + final fun component2(): #B // arrow.core/Tuple6.component2|component2(){}[0] + final fun component3(): #C // arrow.core/Tuple6.component3|component3(){}[0] + final fun component4(): #D // arrow.core/Tuple6.component4|component4(){}[0] + final fun component5(): #E // arrow.core/Tuple6.component5|component5(){}[0] + final fun component6(): #F // arrow.core/Tuple6.component6|component6(){}[0] + final fun copy(#A = ..., #B = ..., #C = ..., #D = ..., #E = ..., #F = ...): arrow.core/Tuple6<#A, #B, #C, #D, #E, #F> // arrow.core/Tuple6.copy|copy(1:0;1:1;1:2;1:3;1:4;1:5){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Tuple6.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Tuple6.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Tuple6.toString|toString(){}[0] + + final object Companion // arrow.core/Tuple6.Companion|null[0] +} + +final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: out kotlin/Any?, #E: out kotlin/Any?> arrow.core/Tuple5 { // arrow.core/Tuple5|null[0] + constructor (#A, #B, #C, #D, #E) // arrow.core/Tuple5.|(1:0;1:1;1:2;1:3;1:4){}[0] + + final val fifth // arrow.core/Tuple5.fifth|{}fifth[0] + final fun (): #E // arrow.core/Tuple5.fifth.|(){}[0] + final val first // arrow.core/Tuple5.first|{}first[0] + final fun (): #A // arrow.core/Tuple5.first.|(){}[0] + final val fourth // arrow.core/Tuple5.fourth|{}fourth[0] + final fun (): #D // arrow.core/Tuple5.fourth.|(){}[0] + final val second // arrow.core/Tuple5.second|{}second[0] + final fun (): #B // arrow.core/Tuple5.second.|(){}[0] + final val third // arrow.core/Tuple5.third|{}third[0] + final fun (): #C // arrow.core/Tuple5.third.|(){}[0] + + final fun component1(): #A // arrow.core/Tuple5.component1|component1(){}[0] + final fun component2(): #B // arrow.core/Tuple5.component2|component2(){}[0] + final fun component3(): #C // arrow.core/Tuple5.component3|component3(){}[0] + final fun component4(): #D // arrow.core/Tuple5.component4|component4(){}[0] + final fun component5(): #E // arrow.core/Tuple5.component5|component5(){}[0] + final fun copy(#A = ..., #B = ..., #C = ..., #D = ..., #E = ...): arrow.core/Tuple5<#A, #B, #C, #D, #E> // arrow.core/Tuple5.copy|copy(1:0;1:1;1:2;1:3;1:4){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Tuple5.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Tuple5.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Tuple5.toString|toString(){}[0] + + final object Companion // arrow.core/Tuple5.Companion|null[0] +} + +final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: out kotlin/Any?> arrow.core/Tuple4 { // arrow.core/Tuple4|null[0] + constructor (#A, #B, #C, #D) // arrow.core/Tuple4.|(1:0;1:1;1:2;1:3){}[0] + + final val first // arrow.core/Tuple4.first|{}first[0] + final fun (): #A // arrow.core/Tuple4.first.|(){}[0] + final val fourth // arrow.core/Tuple4.fourth|{}fourth[0] + final fun (): #D // arrow.core/Tuple4.fourth.|(){}[0] + final val second // arrow.core/Tuple4.second|{}second[0] + final fun (): #B // arrow.core/Tuple4.second.|(){}[0] + final val third // arrow.core/Tuple4.third|{}third[0] + final fun (): #C // arrow.core/Tuple4.third.|(){}[0] + + final fun component1(): #A // arrow.core/Tuple4.component1|component1(){}[0] + final fun component2(): #B // arrow.core/Tuple4.component2|component2(){}[0] + final fun component3(): #C // arrow.core/Tuple4.component3|component3(){}[0] + final fun component4(): #D // arrow.core/Tuple4.component4|component4(){}[0] + final fun copy(#A = ..., #B = ..., #C = ..., #D = ...): arrow.core/Tuple4<#A, #B, #C, #D> // arrow.core/Tuple4.copy|copy(1:0;1:1;1:2;1:3){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Tuple4.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Tuple4.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Tuple4.toString|toString(){}[0] + + final object Companion // arrow.core/Tuple4.Companion|null[0] +} + +final class <#A: out kotlin/Any?> arrow.core/Some : arrow.core/Option<#A> { // arrow.core/Some|null[0] + constructor (#A) // arrow.core/Some.|(1:0){}[0] + + final val value // arrow.core/Some.value|{}value[0] + final fun (): #A // arrow.core/Some.value.|(){}[0] + + final fun component1(): #A // arrow.core/Some.component1|component1(){}[0] + final fun copy(#A = ...): arrow.core/Some<#A> // arrow.core/Some.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Some.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Some.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Some.toString|toString(){}[0] + + final object Companion // arrow.core/Some.Companion|null[0] +} + +final class arrow.core.raise/DefaultRaise : arrow.core.raise/Raise { // arrow.core.raise/DefaultRaise|null[0] + constructor (kotlin/Boolean) // arrow.core.raise/DefaultRaise.|(kotlin.Boolean){}[0] + + final val isTraced // arrow.core.raise/DefaultRaise.isTraced|{}isTraced[0] + final fun (): kotlin/Boolean // arrow.core.raise/DefaultRaise.isTraced.|(){}[0] + + final fun complete(): kotlin/Boolean // arrow.core.raise/DefaultRaise.complete|complete(){}[0] + final fun raise(kotlin/Any?): kotlin/Nothing // arrow.core.raise/DefaultRaise.raise|raise(kotlin.Any?){}[0] +} + +final class arrow.core.raise/ResultRaise : arrow.core.raise/Raise { // arrow.core.raise/ResultRaise|null[0] + constructor (arrow.core.raise/Raise) // arrow.core.raise/ResultRaise.|(arrow.core.raise.Raise){}[0] + + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, arrow.core/Either>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/ResultRaise.bindAll|bindAll@kotlin.collections.Map<0:0,arrow.core.Either>(){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, kotlin/Result<#B1>>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/ResultRaise.bindAll|bindAll@kotlin.collections.Map<0:0,kotlin.Result<0:1>>(){0§;1§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Either).bind(): #A1 // arrow.core.raise/ResultRaise.bind|bind@arrow.core.Either(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/ResultRaise.bindAll|bindAll@arrow.core.NonEmptyList>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/ResultRaise.bindAll|bindAll@arrow.core.NonEmptyList>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/ResultRaise.bindAll|bindAll@arrow.core.NonEmptySet>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/ResultRaise.bindAll|bindAll@arrow.core.NonEmptySet>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/ResultRaise.bindAll|bindAll@kotlin.collections.Iterable>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/ResultRaise.bindAll|bindAll@kotlin.collections.Iterable>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin/Function1, #A1>).bind(): #A1 // arrow.core.raise/ResultRaise.bind|bind@kotlin.Function1,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin/Function1, #A1>).invoke(): #A1 // arrow.core.raise/ResultRaise.invoke|invoke@kotlin.Function1,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin/Result<#A1>).bind(): #A1 // arrow.core.raise/ResultRaise.bind|bind@kotlin.Result<0:0>(){0§}[0] + final fun raise(kotlin/Throwable): kotlin/Nothing // arrow.core.raise/ResultRaise.raise|raise(kotlin.Throwable){}[0] + final inline fun <#A1: kotlin/Any?> recover(kotlin/Function1, kotlin/Function1): #A1 // arrow.core.raise/ResultRaise.recover|recover(kotlin.Function1;kotlin.Function1){0§}[0] + final suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A1>).bind(): #A1 // arrow.core.raise/ResultRaise.bind|bind@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] + final suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A1>).invoke(): #A1 // arrow.core.raise/ResultRaise.invoke|invoke@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] +} + +final value class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core/AtomicMemoizationCache : arrow.core/MemoizationCache<#A, #B> { // arrow.core/AtomicMemoizationCache|null[0] + constructor (arrow.atomic/Atomic> = ...) // arrow.core/AtomicMemoizationCache.|(arrow.atomic.Atomic>){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/AtomicMemoizationCache.equals|equals(kotlin.Any?){}[0] + final fun get(#A): #B? // arrow.core/AtomicMemoizationCache.get|get(1:0){}[0] + final fun hashCode(): kotlin/Int // arrow.core/AtomicMemoizationCache.hashCode|hashCode(){}[0] + final fun set(#A, #B): #B // arrow.core/AtomicMemoizationCache.set|set(1:0;1:1){}[0] + final fun toString(): kotlin/String // arrow.core/AtomicMemoizationCache.toString|toString(){}[0] +} + +final value class <#A: out kotlin/Any?> arrow.core/NonEmptyList : arrow.core/NonEmptyCollection<#A>, kotlin.collections/List<#A> { // arrow.core/NonEmptyList|null[0] + constructor (#A, kotlin.collections/List<#A>) // arrow.core/NonEmptyList.|(1:0;kotlin.collections.List<1:0>){}[0] + constructor (kotlin.collections/List<#A>) // arrow.core/NonEmptyList.|(kotlin.collections.List<1:0>){}[0] + + final val all // arrow.core/NonEmptyList.all|{}all[0] + final fun (): kotlin.collections/List<#A> // arrow.core/NonEmptyList.all.|(){}[0] + final val head // arrow.core/NonEmptyList.head|{}head[0] + final fun (): #A // arrow.core/NonEmptyList.head.|(){}[0] + final val size // arrow.core/NonEmptyList.size|{}size[0] + final fun (): kotlin/Int // arrow.core/NonEmptyList.size.|(){}[0] + final val tail // arrow.core/NonEmptyList.tail|{}tail[0] + final fun (): kotlin.collections/List<#A> // arrow.core/NonEmptyList.tail.|(){}[0] + + final fun <#A1: kotlin/Any?> align(arrow.core/NonEmptyList<#A1>): arrow.core/NonEmptyList> // arrow.core/NonEmptyList.align|align(arrow.core.NonEmptyList<0:0>){0§}[0] + final fun <#A1: kotlin/Any?> coflatMap(kotlin/Function1, #A1>): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptyList.coflatMap|coflatMap(kotlin.Function1,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> padZip(arrow.core/NonEmptyList<#A1>): arrow.core/NonEmptyList> // arrow.core/NonEmptyList.padZip|padZip(arrow.core.NonEmptyList<0:0>){0§}[0] + final fun <#A1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>): arrow.core/NonEmptyList> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>){0§}[0] + final fun contains(#A): kotlin/Boolean // arrow.core/NonEmptyList.contains|contains(1:0){}[0] + final fun containsAll(kotlin.collections/Collection<#A>): kotlin/Boolean // arrow.core/NonEmptyList.containsAll|containsAll(kotlin.collections.Collection<1:0>){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/NonEmptyList.equals|equals(kotlin.Any?){}[0] + final fun extract(): #A // arrow.core/NonEmptyList.extract|extract(){}[0] + final fun get(kotlin/Int): #A // arrow.core/NonEmptyList.get|get(kotlin.Int){}[0] + final fun hashCode(): kotlin/Int // arrow.core/NonEmptyList.hashCode|hashCode(){}[0] + final fun indexOf(#A): kotlin/Int // arrow.core/NonEmptyList.indexOf|indexOf(1:0){}[0] + final fun isEmpty(): kotlin/Boolean // arrow.core/NonEmptyList.isEmpty|isEmpty(){}[0] + final fun iterator(): kotlin.collections/Iterator<#A> // arrow.core/NonEmptyList.iterator|iterator(){}[0] + final fun lastIndexOf(#A): kotlin/Int // arrow.core/NonEmptyList.lastIndexOf|lastIndexOf(1:0){}[0] + final fun lastOrNull(): #A // arrow.core/NonEmptyList.lastOrNull|lastOrNull(){}[0] + final fun listIterator(): kotlin.collections/ListIterator<#A> // arrow.core/NonEmptyList.listIterator|listIterator(){}[0] + final fun listIterator(kotlin/Int): kotlin.collections/ListIterator<#A> // arrow.core/NonEmptyList.listIterator|listIterator(kotlin.Int){}[0] + final fun plus(#A): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyList.plus|plus(1:0){}[0] + final fun plus(arrow.core/NonEmptyList<#A>): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyList.plus|plus(arrow.core.NonEmptyList<1:0>){}[0] + final fun plus(kotlin.collections/Iterable<#A>): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyList.plus|plus(kotlin.collections.Iterable<1:0>){}[0] + final fun subList(kotlin/Int, kotlin/Int): kotlin.collections/List<#A> // arrow.core/NonEmptyList.subList|subList(kotlin.Int;kotlin.Int){}[0] + final fun toList(): kotlin.collections/List<#A> // arrow.core/NonEmptyList.toList|toList(){}[0] + final fun toString(): kotlin/String // arrow.core/NonEmptyList.toString|toString(){}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?, #F1: kotlin/Any?, #G1: kotlin/Any?, #H1: kotlin/Any?, #I1: kotlin/Any?, #J1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#C1>, arrow.core/NonEmptyList<#D1>, arrow.core/NonEmptyList<#E1>, arrow.core/NonEmptyList<#F1>, arrow.core/NonEmptyList<#G1>, arrow.core/NonEmptyList<#H1>, arrow.core/NonEmptyList<#I1>, kotlin/Function10<#A, #A1, #B1, #C1, #D1, #E1, #F1, #G1, #H1, #I1, #J1>): arrow.core/NonEmptyList<#J1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;arrow.core.NonEmptyList<0:8>;kotlin.Function10<1:0,0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?, #F1: kotlin/Any?, #G1: kotlin/Any?, #H1: kotlin/Any?, #I1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#C1>, arrow.core/NonEmptyList<#D1>, arrow.core/NonEmptyList<#E1>, arrow.core/NonEmptyList<#F1>, arrow.core/NonEmptyList<#G1>, arrow.core/NonEmptyList<#H1>, kotlin/Function9<#A, #A1, #B1, #C1, #D1, #E1, #F1, #G1, #H1, #I1>): arrow.core/NonEmptyList<#I1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;arrow.core.NonEmptyList<0:7>;kotlin.Function9<1:0,0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?, #F1: kotlin/Any?, #G1: kotlin/Any?, #H1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#C1>, arrow.core/NonEmptyList<#D1>, arrow.core/NonEmptyList<#E1>, arrow.core/NonEmptyList<#F1>, arrow.core/NonEmptyList<#G1>, kotlin/Function8<#A, #A1, #B1, #C1, #D1, #E1, #F1, #G1, #H1>): arrow.core/NonEmptyList<#H1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;arrow.core.NonEmptyList<0:6>;kotlin.Function8<1:0,0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?, #F1: kotlin/Any?, #G1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#C1>, arrow.core/NonEmptyList<#D1>, arrow.core/NonEmptyList<#E1>, arrow.core/NonEmptyList<#F1>, kotlin/Function7<#A, #A1, #B1, #C1, #D1, #E1, #F1, #G1>): arrow.core/NonEmptyList<#G1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;arrow.core.NonEmptyList<0:5>;kotlin.Function7<1:0,0:0,0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?, #F1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#C1>, arrow.core/NonEmptyList<#D1>, arrow.core/NonEmptyList<#E1>, kotlin/Function6<#A, #A1, #B1, #C1, #D1, #E1, #F1>): arrow.core/NonEmptyList<#F1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;arrow.core.NonEmptyList<0:4>;kotlin.Function6<1:0,0:0,0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#C1>, arrow.core/NonEmptyList<#D1>, kotlin/Function5<#A, #A1, #B1, #C1, #D1, #E1>): arrow.core/NonEmptyList<#E1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;arrow.core.NonEmptyList<0:3>;kotlin.Function5<1:0,0:0,0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#C1>, kotlin/Function4<#A, #A1, #B1, #C1, #D1>): arrow.core/NonEmptyList<#D1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;arrow.core.NonEmptyList<0:2>;kotlin.Function4<1:0,0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, arrow.core/NonEmptyList<#B1>, kotlin/Function3<#A, #A1, #B1, #C1>): arrow.core/NonEmptyList<#C1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;arrow.core.NonEmptyList<0:1>;kotlin.Function3<1:0,0:0,0:1,0:2>){0§;1§;2§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> padZip(arrow.core/NonEmptyList<#A1>, kotlin/Function1<#A, #B1>, kotlin/Function1<#A1, #B1>, kotlin/Function2<#A, #A1, #B1>): arrow.core/NonEmptyList<#B1> // arrow.core/NonEmptyList.padZip|padZip(arrow.core.NonEmptyList<0:0>;kotlin.Function1<1:0,0:1>;kotlin.Function1<0:0,0:1>;kotlin.Function2<1:0,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> zip(arrow.core/NonEmptyList<#A1>, kotlin/Function2<#A, #A1, #B1>): arrow.core/NonEmptyList<#B1> // arrow.core/NonEmptyList.zip|zip(arrow.core.NonEmptyList<0:0>;kotlin.Function2<1:0,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?> distinctBy(kotlin/Function1<#A, #A1>): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyList.distinctBy|distinctBy(kotlin.Function1<1:0,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> flatMap(kotlin/Function1<#A, arrow.core/NonEmptyCollection<#A1>>): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptyList.flatMap|flatMap(kotlin.Function1<1:0,arrow.core.NonEmptyCollection<0:0>>){0§}[0] + final inline fun <#A1: kotlin/Any?> foldLeft(#A1, kotlin/Function2<#A1, #A, #A1>): #A1 // arrow.core/NonEmptyList.foldLeft|foldLeft(0:0;kotlin.Function2<0:0,1:0,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> map(kotlin/Function1<#A, #A1>): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptyList.map|map(kotlin.Function1<1:0,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> mapIndexed(kotlin/Function2): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptyList.mapIndexed|mapIndexed(kotlin.Function2){0§}[0] + final inline fun distinct(): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptyList.distinct|distinct(){}[0] + + final object Companion { // arrow.core/NonEmptyList.Companion|null[0] + final val unit // arrow.core/NonEmptyList.Companion.unit|{}unit[0] + final fun (): arrow.core/NonEmptyList // arrow.core/NonEmptyList.Companion.unit.|(){}[0] + } + + // Targets: [js] + final fun asJsReadonlyArrayView(): kotlin.js.collections/JsReadonlyArray<#A> // arrow.core/NonEmptyList.asJsReadonlyArrayView|asJsReadonlyArrayView(){}[0] +} + +final value class <#A: out kotlin/Any?> arrow.core/NonEmptySet : arrow.core/NonEmptyCollection<#A>, kotlin.collections/Set<#A> { // arrow.core/NonEmptySet|null[0] + constructor (#A, kotlin.collections/Iterable<#A>) // arrow.core/NonEmptySet.|(1:0;kotlin.collections.Iterable<1:0>){}[0] + + final val elements // arrow.core/NonEmptySet.elements|{}elements[0] + final fun (): kotlin.collections/Set<#A> // arrow.core/NonEmptySet.elements.|(){}[0] + final val head // arrow.core/NonEmptySet.head|{}head[0] + final fun (): #A // arrow.core/NonEmptySet.head.|(){}[0] + final val size // arrow.core/NonEmptySet.size|{}size[0] + final fun (): kotlin/Int // arrow.core/NonEmptySet.size.|(){}[0] + + final fun <#A1: kotlin/Any?> distinctBy(kotlin/Function1<#A, #A1>): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptySet.distinctBy|distinctBy(kotlin.Function1<1:0,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> flatMap(kotlin/Function1<#A, arrow.core/NonEmptyCollection<#A1>>): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptySet.flatMap|flatMap(kotlin.Function1<1:0,arrow.core.NonEmptyCollection<0:0>>){0§}[0] + final fun <#A1: kotlin/Any?> map(kotlin/Function1<#A, #A1>): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptySet.map|map(kotlin.Function1<1:0,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> mapIndexed(kotlin/Function2): arrow.core/NonEmptyList<#A1> // arrow.core/NonEmptySet.mapIndexed|mapIndexed(kotlin.Function2){0§}[0] + final fun <#A1: kotlin/Any?> zip(arrow.core/NonEmptyCollection<#A1>): arrow.core/NonEmptyList> // arrow.core/NonEmptySet.zip|zip(arrow.core.NonEmptyCollection<0:0>){0§}[0] + final fun contains(#A): kotlin/Boolean // arrow.core/NonEmptySet.contains|contains(1:0){}[0] + final fun containsAll(kotlin.collections/Collection<#A>): kotlin/Boolean // arrow.core/NonEmptySet.containsAll|containsAll(kotlin.collections.Collection<1:0>){}[0] + final fun distinct(): arrow.core/NonEmptyList<#A> // arrow.core/NonEmptySet.distinct|distinct(){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/NonEmptySet.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/NonEmptySet.hashCode|hashCode(){}[0] + final fun isEmpty(): kotlin/Boolean // arrow.core/NonEmptySet.isEmpty|isEmpty(){}[0] + final fun iterator(): kotlin.collections/Iterator<#A> // arrow.core/NonEmptySet.iterator|iterator(){}[0] + final fun lastOrNull(): #A // arrow.core/NonEmptySet.lastOrNull|lastOrNull(){}[0] + final fun plus(#A): arrow.core/NonEmptySet<#A> // arrow.core/NonEmptySet.plus|plus(1:0){}[0] + final fun plus(kotlin.collections/Iterable<#A>): arrow.core/NonEmptySet<#A> // arrow.core/NonEmptySet.plus|plus(kotlin.collections.Iterable<1:0>){}[0] + final fun toString(): kotlin/String // arrow.core/NonEmptySet.toString|toString(){}[0] + + // Targets: [js] + final fun asJsReadonlySetView(): kotlin.js.collections/JsReadonlySet<#A> // arrow.core/NonEmptySet.asJsReadonlySetView|asJsReadonlySetView(){}[0] +} + +final value class arrow.core.raise/Trace { // arrow.core.raise/Trace|null[0] + constructor (kotlin.coroutines.cancellation/CancellationException) // arrow.core.raise/Trace.|(kotlin.coroutines.cancellation.CancellationException){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core.raise/Trace.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core.raise/Trace.hashCode|hashCode(){}[0] + final fun printStackTrace() // arrow.core.raise/Trace.printStackTrace|printStackTrace(){}[0] + final fun stackTraceToString(): kotlin/String // arrow.core.raise/Trace.stackTraceToString|stackTraceToString(){}[0] + final fun suppressedExceptions(): kotlin.collections/List // arrow.core.raise/Trace.suppressedExceptions|suppressedExceptions(){}[0] + final fun toString(): kotlin/String // arrow.core.raise/Trace.toString|toString(){}[0] +} + +open class <#A: kotlin/Any?> arrow.core.raise/RaiseAccumulate : arrow.core.raise/Raise<#A> { // arrow.core.raise/RaiseAccumulate|null[0] + constructor (arrow.core.raise/Raise>) // arrow.core.raise/RaiseAccumulate.|(arrow.core.raise.Raise>){}[0] + + final val raise // arrow.core.raise/RaiseAccumulate.raise|{}raise[0] + final fun (): arrow.core.raise/Raise> // arrow.core.raise/RaiseAccumulate.raise.|(){}[0] + + final fun <#A1: kotlin/Any> ensureNotNullOrAccumulate(#A1?, kotlin/Function0<#A>) // arrow.core.raise/RaiseAccumulate.ensureNotNullOrAccumulate|ensureNotNullOrAccumulate(0:0?;kotlin.Function0<1:0>){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Either<#A, #A1>).bindOrAccumulate(): arrow.core.raise/RaiseAccumulate.Value<#A1, #A> // arrow.core.raise/RaiseAccumulate.bindOrAccumulate|bindOrAccumulate@arrow.core.Either<1:0,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Either, #A1>).bindNel(): #A1 // arrow.core.raise/RaiseAccumulate.bindNel|bindNel@arrow.core.Either,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (arrow.core/Either, #A1>).bindNelOrAccumulate(): arrow.core.raise/RaiseAccumulate.Value<#A1, #A> // arrow.core.raise/RaiseAccumulate.bindNelOrAccumulate|bindNelOrAccumulate@arrow.core.Either,0:0>(){0§}[0] + final fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAllOrAccumulate(): arrow.core.raise/RaiseAccumulate.Value, #A> // arrow.core.raise/RaiseAccumulate.bindAllOrAccumulate|bindAllOrAccumulate@kotlin.collections.Iterable>(){0§}[0] + final fun addErrors(kotlin.collections/Iterable<#A>) // arrow.core.raise/RaiseAccumulate.addErrors|addErrors(kotlin.collections.Iterable<1:0>){}[0] + final fun ensureOrAccumulate(kotlin/Boolean, kotlin/Function0<#A>) // arrow.core.raise/RaiseAccumulate.ensureOrAccumulate|ensureOrAccumulate(kotlin.Boolean;kotlin.Function0<1:0>){}[0] + final fun hasErrors(): kotlin/Boolean // arrow.core.raise/RaiseAccumulate.hasErrors|hasErrors(){}[0] + final fun raiseErrors(): kotlin/Nothing // arrow.core.raise/RaiseAccumulate.raiseErrors|raiseErrors(){}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (kotlin.collections/Map<#A1, #B1>).mapOrAccumulate(kotlin/Function2, kotlin.collections/Map.Entry<#A1, #B1>, #C1>): kotlin.collections/List<#C1> // arrow.core.raise/RaiseAccumulate.mapOrAccumulate|mapOrAccumulate@kotlin.collections.Map<0:0,0:1>(kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:1>,0:2>){0§;1§;2§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (kotlin.collections/Map<#A1, #B1>).mapValuesOrAccumulate(kotlin/Function2, kotlin.collections/Map.Entry<#A1, #B1>, #C1>): kotlin.collections/Map<#A1, #C1> // arrow.core.raise/RaiseAccumulate.mapValuesOrAccumulate|mapValuesOrAccumulate@kotlin.collections.Map<0:0,0:1>(kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:1>,0:2>){0§;1§;2§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.core/NonEmptyList<#A1>).mapOrAccumulate(kotlin/Function2, #A1, #B1>): arrow.core/NonEmptyList<#B1> // arrow.core.raise/RaiseAccumulate.mapOrAccumulate|mapOrAccumulate@arrow.core.NonEmptyList<0:0>(kotlin.Function2,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.core/NonEmptySet<#A1>).mapOrAccumulate(kotlin/Function2, #A1, #B1>): arrow.core/NonEmptySet<#B1> // arrow.core.raise/RaiseAccumulate.mapOrAccumulate|mapOrAccumulate@arrow.core.NonEmptySet<0:0>(kotlin.Function2,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Iterable<#A1>).mapOrAccumulate(kotlin/Function2, #A1, #B1>): kotlin.collections/List<#B1> // arrow.core.raise/RaiseAccumulate.mapOrAccumulate|mapOrAccumulate@kotlin.collections.Iterable<0:0>(kotlin.Function2,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> mapOrAccumulate(arrow.core/NonEmptyList<#A1>, kotlin/Function2, #A1, #B1>): arrow.core/NonEmptyList<#B1> // arrow.core.raise/RaiseAccumulate.mapOrAccumulate|mapOrAccumulate(arrow.core.NonEmptyList<0:0>;kotlin.Function2,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> mapOrAccumulate(arrow.core/NonEmptySet<#A1>, kotlin/Function2, #A1, #B1>): arrow.core/NonEmptySet<#B1> // arrow.core.raise/RaiseAccumulate.mapOrAccumulate|mapOrAccumulate(arrow.core.NonEmptySet<0:0>;kotlin.Function2,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> mapOrAccumulate(kotlin.collections/Iterable<#A1>, kotlin/Function2, #A1, #B1>): kotlin.collections/List<#B1> // arrow.core.raise/RaiseAccumulate.mapOrAccumulate|mapOrAccumulate(kotlin.collections.Iterable<0:0>;kotlin.Function2,0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?> accumulating(kotlin/Function1, #A1>): arrow.core.raise/RaiseAccumulate.Value<#A1, #A> // arrow.core.raise/RaiseAccumulate.accumulating|accumulating(kotlin.Function1,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> withNel(kotlin/Function1>, #A1>): #A1 // arrow.core.raise/RaiseAccumulate.withNel|withNel(kotlin.Function1>,0:0>){0§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.collections/Map<#A1, arrow.core/Either<#A, #B1>>).bindAll(): kotlin.collections/Map<#A1, #B1> // arrow.core.raise/RaiseAccumulate.bindAll|bindAll@kotlin.collections.Map<0:0,arrow.core.Either<1:0,0:1>>(){0§;1§}[0] + open fun <#A1: kotlin/Any?> (arrow.core/NonEmptyList>).bindAll(): arrow.core/NonEmptyList<#A1> // arrow.core.raise/RaiseAccumulate.bindAll|bindAll@arrow.core.NonEmptyList>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.core/NonEmptySet>).bindAll(): arrow.core/NonEmptySet<#A1> // arrow.core.raise/RaiseAccumulate.bindAll|bindAll@arrow.core.NonEmptySet>(){0§}[0] + open fun <#A1: kotlin/Any?> (kotlin.collections/Iterable>).bindAll(): kotlin.collections/List<#A1> // arrow.core.raise/RaiseAccumulate.bindAll|bindAll@kotlin.collections.Iterable>(){0§}[0] + open fun raise(#A): kotlin/Nothing // arrow.core.raise/RaiseAccumulate.raise|raise(1:0){}[0] + + abstract inner class <#A1: out kotlin/Any?> Value { // arrow.core.raise/RaiseAccumulate.Value|null[0] + constructor () // arrow.core.raise/RaiseAccumulate.Value.|(){}[0] + + abstract fun getValue(kotlin/Nothing?, kotlin.reflect/KProperty<*>): #A1 // arrow.core.raise/RaiseAccumulate.Value.getValue|getValue(kotlin.Nothing?;kotlin.reflect.KProperty<*>){}[0] + } + + final inner class <#A1: out kotlin/Any?> Ok : arrow.core.raise/RaiseAccumulate.Value<#A1, #A> { // arrow.core.raise/RaiseAccumulate.Ok|null[0] + constructor (#A1) // arrow.core.raise/RaiseAccumulate.Ok.|(1:0){}[0] + + final fun getValue(kotlin/Nothing?, kotlin.reflect/KProperty<*>): #A1 // arrow.core.raise/RaiseAccumulate.Ok.getValue|getValue(kotlin.Nothing?;kotlin.reflect.KProperty<*>){}[0] + } + + final inner class Error : arrow.core.raise/RaiseAccumulate.Value { // arrow.core.raise/RaiseAccumulate.Error|null[0] + constructor () // arrow.core.raise/RaiseAccumulate.Error.|(){}[0] + + final fun getValue(kotlin/Nothing?, kotlin.reflect/KProperty<*>): kotlin/Nothing // arrow.core.raise/RaiseAccumulate.Error.getValue|getValue(kotlin.Nothing?;kotlin.reflect.KProperty<*>){}[0] + } +} + +sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Either { // arrow.core/Either|null[0] + final fun getOrNone(): arrow.core/Option<#B> // arrow.core/Either.getOrNone|getOrNone(){}[0] + final fun getOrNull(): #B? // arrow.core/Either.getOrNull|getOrNull(){}[0] + final fun isLeft(): kotlin/Boolean // arrow.core/Either.isLeft|isLeft(){}[0] + final fun isRight(): kotlin/Boolean // arrow.core/Either.isRight|isRight(){}[0] + final fun leftOrNull(): #A? // arrow.core/Either.leftOrNull|leftOrNull(){}[0] + final fun swap(): arrow.core/Either<#B, #A> // arrow.core/Either.swap|swap(){}[0] + final fun toIor(): arrow.core/Ior<#A, #B> // arrow.core/Either.toIor|toIor(){}[0] + final inline fun <#A1: kotlin/Any?> fold(kotlin/Function1<#A, #A1>, kotlin/Function1<#B, #A1>): #A1 // arrow.core/Either.fold|fold(kotlin.Function1<1:0,0:0>;kotlin.Function1<1:1,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> map(kotlin/Function1<#B, #A1>): arrow.core/Either<#A, #A1> // arrow.core/Either.map|map(kotlin.Function1<1:1,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> mapLeft(kotlin/Function1<#A, #A1>): arrow.core/Either<#A1, #B> // arrow.core/Either.mapLeft|mapLeft(kotlin.Function1<1:0,0:0>){0§}[0] + final inline fun isLeft(kotlin/Function1<#A, kotlin/Boolean>): kotlin/Boolean // arrow.core/Either.isLeft|isLeft(kotlin.Function1<1:0,kotlin.Boolean>){}[0] + final inline fun isRight(kotlin/Function1<#B, kotlin/Boolean>): kotlin/Boolean // arrow.core/Either.isRight|isRight(kotlin.Function1<1:1,kotlin.Boolean>){}[0] + final inline fun onLeft(kotlin/Function1<#A, kotlin/Unit>): arrow.core/Either<#A, #B> // arrow.core/Either.onLeft|onLeft(kotlin.Function1<1:0,kotlin.Unit>){}[0] + final inline fun onRight(kotlin/Function1<#B, kotlin/Unit>): arrow.core/Either<#A, #B> // arrow.core/Either.onRight|onRight(kotlin.Function1<1:1,kotlin.Unit>){}[0] + open fun toString(): kotlin/String // arrow.core/Either.toString|toString(){}[0] + + final class <#A1: out kotlin/Any?> Left : arrow.core/Either<#A1, kotlin/Nothing> { // arrow.core/Either.Left|null[0] + constructor (#A1) // arrow.core/Either.Left.|(1:0){}[0] + + final val value // arrow.core/Either.Left.value|{}value[0] + final fun (): #A1 // arrow.core/Either.Left.value.|(){}[0] + + final fun component1(): #A1 // arrow.core/Either.Left.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.core/Either.Left<#A1> // arrow.core/Either.Left.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Either.Left.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Either.Left.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Either.Left.toString|toString(){}[0] + + final object Companion // arrow.core/Either.Left.Companion|null[0] + } + + final class <#A1: out kotlin/Any?> Right : arrow.core/Either { // arrow.core/Either.Right|null[0] + constructor (#A1) // arrow.core/Either.Right.|(1:0){}[0] + + final val value // arrow.core/Either.Right.value|{}value[0] + final fun (): #A1 // arrow.core/Either.Right.value.|(){}[0] + + final fun component1(): #A1 // arrow.core/Either.Right.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.core/Either.Right<#A1> // arrow.core/Either.Right.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Either.Right.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Either.Right.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Either.Right.toString|toString(){}[0] + + final object Companion { // arrow.core/Either.Right.Companion|null[0] + final val unit // arrow.core/Either.Right.Companion.unit|{}unit[0] + final fun (): arrow.core/Either // arrow.core/Either.Right.Companion.unit.|(){}[0] + } + } + + final object Companion { // arrow.core/Either.Companion|null[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?, #K2: kotlin/Any?, #L2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, arrow.core/Either<#A2, #I2>, arrow.core/Either<#A2, #J2>, arrow.core/Either<#A2, #K2>, kotlin/Function10<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2, #K2, #L2>): arrow.core/Either, #L2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;arrow.core.Either<0:0,0:8>;arrow.core.Either<0:0,0:9>;arrow.core.Either<0:0,0:10>;kotlin.Function10<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?, #K2: kotlin/Any?, #L2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, arrow.core/Either, #E2>, arrow.core/Either, #F2>, arrow.core/Either, #G2>, arrow.core/Either, #H2>, arrow.core/Either, #I2>, arrow.core/Either, #J2>, arrow.core/Either, #K2>, kotlin/Function10<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2, #K2, #L2>): arrow.core/Either, #L2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;arrow.core.Either,0:4>;arrow.core.Either,0:5>;arrow.core.Either,0:6>;arrow.core.Either,0:7>;arrow.core.Either,0:8>;arrow.core.Either,0:9>;arrow.core.Either,0:10>;kotlin.Function10<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?, #K2: kotlin/Any?, #L2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, arrow.core/Either<#A2, #I2>, arrow.core/Either<#A2, #J2>, arrow.core/Either<#A2, #K2>, kotlin/Function10<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2, #K2, #L2>): arrow.core/Either<#A2, #L2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;arrow.core.Either<0:0,0:8>;arrow.core.Either<0:0,0:9>;arrow.core.Either<0:0,0:10>;kotlin.Function10<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?, #K2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, arrow.core/Either<#A2, #I2>, arrow.core/Either<#A2, #J2>, kotlin/Function9<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2, #K2>): arrow.core/Either, #K2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;arrow.core.Either<0:0,0:8>;arrow.core.Either<0:0,0:9>;kotlin.Function9<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?, #K2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, arrow.core/Either, #E2>, arrow.core/Either, #F2>, arrow.core/Either, #G2>, arrow.core/Either, #H2>, arrow.core/Either, #I2>, arrow.core/Either, #J2>, kotlin/Function9<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2, #K2>): arrow.core/Either, #K2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;arrow.core.Either,0:4>;arrow.core.Either,0:5>;arrow.core.Either,0:6>;arrow.core.Either,0:7>;arrow.core.Either,0:8>;arrow.core.Either,0:9>;kotlin.Function9<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?, #K2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, arrow.core/Either<#A2, #I2>, arrow.core/Either<#A2, #J2>, kotlin/Function9<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2, #K2>): arrow.core/Either<#A2, #K2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;arrow.core.Either<0:0,0:8>;arrow.core.Either<0:0,0:9>;kotlin.Function9<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, arrow.core/Either<#A2, #I2>, kotlin/Function8<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2>): arrow.core/Either, #J2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;arrow.core.Either<0:0,0:8>;kotlin.Function8<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, arrow.core/Either, #E2>, arrow.core/Either, #F2>, arrow.core/Either, #G2>, arrow.core/Either, #H2>, arrow.core/Either, #I2>, kotlin/Function8<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2>): arrow.core/Either, #J2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;arrow.core.Either,0:4>;arrow.core.Either,0:5>;arrow.core.Either,0:6>;arrow.core.Either,0:7>;arrow.core.Either,0:8>;kotlin.Function8<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?, #J2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, arrow.core/Either<#A2, #I2>, kotlin/Function8<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2, #J2>): arrow.core/Either<#A2, #J2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;arrow.core.Either<0:0,0:8>;kotlin.Function8<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, kotlin/Function7<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2>): arrow.core/Either, #I2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;kotlin.Function7<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, arrow.core/Either, #E2>, arrow.core/Either, #F2>, arrow.core/Either, #G2>, arrow.core/Either, #H2>, kotlin/Function7<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2>): arrow.core/Either, #I2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;arrow.core.Either,0:4>;arrow.core.Either,0:5>;arrow.core.Either,0:6>;arrow.core.Either,0:7>;kotlin.Function7<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?, #I2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, arrow.core/Either<#A2, #H2>, kotlin/Function7<#B2, #C2, #D2, #E2, #F2, #G2, #H2, #I2>): arrow.core/Either<#A2, #I2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;arrow.core.Either<0:0,0:7>;kotlin.Function7<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, kotlin/Function6<#B2, #C2, #D2, #E2, #F2, #G2, #H2>): arrow.core/Either, #H2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;kotlin.Function6<0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, arrow.core/Either, #E2>, arrow.core/Either, #F2>, arrow.core/Either, #G2>, kotlin/Function6<#B2, #C2, #D2, #E2, #F2, #G2, #H2>): arrow.core/Either, #H2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;arrow.core.Either,0:4>;arrow.core.Either,0:5>;arrow.core.Either,0:6>;kotlin.Function6<0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?, #H2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, arrow.core/Either<#A2, #G2>, kotlin/Function6<#B2, #C2, #D2, #E2, #F2, #G2, #H2>): arrow.core/Either<#A2, #H2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;arrow.core.Either<0:0,0:6>;kotlin.Function6<0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, kotlin/Function5<#B2, #C2, #D2, #E2, #F2, #G2>): arrow.core/Either, #G2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;kotlin.Function5<0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, arrow.core/Either, #E2>, arrow.core/Either, #F2>, kotlin/Function5<#B2, #C2, #D2, #E2, #F2, #G2>): arrow.core/Either, #G2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;arrow.core.Either,0:4>;arrow.core.Either,0:5>;kotlin.Function5<0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?, #G2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, arrow.core/Either<#A2, #F2>, kotlin/Function5<#B2, #C2, #D2, #E2, #F2, #G2>): arrow.core/Either<#A2, #G2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;arrow.core.Either<0:0,0:5>;kotlin.Function5<0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, kotlin/Function4<#B2, #C2, #D2, #E2, #F2>): arrow.core/Either, #F2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;kotlin.Function4<0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, arrow.core/Either, #E2>, kotlin/Function4<#B2, #C2, #D2, #E2, #F2>): arrow.core/Either, #F2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;arrow.core.Either,0:4>;kotlin.Function4<0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?, #F2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, arrow.core/Either<#A2, #E2>, kotlin/Function4<#B2, #C2, #D2, #E2, #F2>): arrow.core/Either<#A2, #F2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;arrow.core.Either<0:0,0:4>;kotlin.Function4<0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, kotlin/Function3<#B2, #C2, #D2, #E2>): arrow.core/Either, #E2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;kotlin.Function3<0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, arrow.core/Either, #D2>, kotlin/Function3<#B2, #C2, #D2, #E2>): arrow.core/Either, #E2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;arrow.core.Either,0:3>;kotlin.Function3<0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?, #E2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, arrow.core/Either<#A2, #D2>, kotlin/Function3<#B2, #C2, #D2, #E2>): arrow.core/Either<#A2, #E2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;arrow.core.Either<0:0,0:3>;kotlin.Function3<0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> zipOrAccumulate(arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, kotlin/Function2<#B2, #C2, #D2>): arrow.core/Either, #D2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;kotlin.Function2<0:1,0:2,0:3>){0§;1§;2§;3§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> zipOrAccumulate(arrow.core/Either, #B2>, arrow.core/Either, #C2>, kotlin/Function2<#B2, #C2, #D2>): arrow.core/Either, #D2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(arrow.core.Either,0:1>;arrow.core.Either,0:2>;kotlin.Function2<0:1,0:2,0:3>){0§;1§;2§;3§}[0] + final inline fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> zipOrAccumulate(kotlin/Function2<#A2, #A2, #A2>, arrow.core/Either<#A2, #B2>, arrow.core/Either<#A2, #C2>, kotlin/Function2<#B2, #C2, #D2>): arrow.core/Either<#A2, #D2> // arrow.core/Either.Companion.zipOrAccumulate|zipOrAccumulate(kotlin.Function2<0:0,0:0,0:0>;arrow.core.Either<0:0,0:1>;arrow.core.Either<0:0,0:2>;kotlin.Function2<0:1,0:2,0:3>){0§;1§;2§;3§}[0] + final inline fun <#A2: kotlin/Any?> catch(kotlin/Function0<#A2>): arrow.core/Either // arrow.core/Either.Companion.catch|catch(kotlin.Function0<0:0>){0§}[0] + final inline fun <#A2: reified kotlin/Throwable, #B2: kotlin/Any?> catchOrThrow(kotlin/Function0<#B2>): arrow.core/Either<#A2, #B2> // arrow.core/Either.Companion.catchOrThrow|catchOrThrow(kotlin.Function0<0:1>){0§;1§}[0] + } +} + +sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Ior { // arrow.core/Ior|null[0] + final fun getOrNull(): #B? // arrow.core/Ior.getOrNull|getOrNull(){}[0] + final fun isBoth(): kotlin/Boolean // arrow.core/Ior.isBoth|isBoth(){}[0] + final fun isLeft(): kotlin/Boolean // arrow.core/Ior.isLeft|isLeft(){}[0] + final fun isRight(): kotlin/Boolean // arrow.core/Ior.isRight|isRight(){}[0] + final fun leftOrNull(): #A? // arrow.core/Ior.leftOrNull|leftOrNull(){}[0] + final fun swap(): arrow.core/Ior<#B, #A> // arrow.core/Ior.swap|swap(){}[0] + final fun toEither(): arrow.core/Either<#A, #B> // arrow.core/Ior.toEither|toEither(){}[0] + final fun toPair(): kotlin/Pair<#A?, #B?> // arrow.core/Ior.toPair|toPair(){}[0] + final fun unwrap(): arrow.core/Either, kotlin/Pair<#A, #B>> // arrow.core/Ior.unwrap|unwrap(){}[0] + final inline fun <#A1: kotlin/Any?> fold(kotlin/Function1<#A, #A1>, kotlin/Function1<#B, #A1>, kotlin/Function2<#A, #B, #A1>): #A1 // arrow.core/Ior.fold|fold(kotlin.Function1<1:0,0:0>;kotlin.Function1<1:1,0:0>;kotlin.Function2<1:0,1:1,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> map(kotlin/Function1<#B, #A1>): arrow.core/Ior<#A, #A1> // arrow.core/Ior.map|map(kotlin.Function1<1:1,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> mapLeft(kotlin/Function1<#A, #A1>): arrow.core/Ior<#A1, #B> // arrow.core/Ior.mapLeft|mapLeft(kotlin.Function1<1:0,0:0>){0§}[0] + final inline fun isBoth(kotlin/Function1<#A, kotlin/Boolean>, kotlin/Function1<#B, kotlin/Boolean>): kotlin/Boolean // arrow.core/Ior.isBoth|isBoth(kotlin.Function1<1:0,kotlin.Boolean>;kotlin.Function1<1:1,kotlin.Boolean>){}[0] + final inline fun isLeft(kotlin/Function1<#A, kotlin/Boolean>): kotlin/Boolean // arrow.core/Ior.isLeft|isLeft(kotlin.Function1<1:0,kotlin.Boolean>){}[0] + final inline fun isRight(kotlin/Function1<#B, kotlin/Boolean>): kotlin/Boolean // arrow.core/Ior.isRight|isRight(kotlin.Function1<1:1,kotlin.Boolean>){}[0] + open fun toString(): kotlin/String // arrow.core/Ior.toString|toString(){}[0] + + final class <#A1: out kotlin/Any?, #B1: out kotlin/Any?> Both : arrow.core/Ior<#A1, #B1> { // arrow.core/Ior.Both|null[0] + constructor (#A1, #B1) // arrow.core/Ior.Both.|(1:0;1:1){}[0] + + final val leftValue // arrow.core/Ior.Both.leftValue|{}leftValue[0] + final fun (): #A1 // arrow.core/Ior.Both.leftValue.|(){}[0] + final val rightValue // arrow.core/Ior.Both.rightValue|{}rightValue[0] + final fun (): #B1 // arrow.core/Ior.Both.rightValue.|(){}[0] + + final fun component1(): #A1 // arrow.core/Ior.Both.component1|component1(){}[0] + final fun component2(): #B1 // arrow.core/Ior.Both.component2|component2(){}[0] + final fun copy(#A1 = ..., #B1 = ...): arrow.core/Ior.Both<#A1, #B1> // arrow.core/Ior.Both.copy|copy(1:0;1:1){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Ior.Both.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Ior.Both.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Ior.Both.toString|toString(){}[0] + } + + final class <#A1: out kotlin/Any?> Left : arrow.core/Ior<#A1, kotlin/Nothing> { // arrow.core/Ior.Left|null[0] + constructor (#A1) // arrow.core/Ior.Left.|(1:0){}[0] + + final val value // arrow.core/Ior.Left.value|{}value[0] + final fun (): #A1 // arrow.core/Ior.Left.value.|(){}[0] + + final fun component1(): #A1 // arrow.core/Ior.Left.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.core/Ior.Left<#A1> // arrow.core/Ior.Left.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Ior.Left.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Ior.Left.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Ior.Left.toString|toString(){}[0] + + final object Companion // arrow.core/Ior.Left.Companion|null[0] + } + + final class <#A1: out kotlin/Any?> Right : arrow.core/Ior { // arrow.core/Ior.Right|null[0] + constructor (#A1) // arrow.core/Ior.Right.|(1:0){}[0] + + final val value // arrow.core/Ior.Right.value|{}value[0] + final fun (): #A1 // arrow.core/Ior.Right.value.|(){}[0] + + final fun component1(): #A1 // arrow.core/Ior.Right.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.core/Ior.Right<#A1> // arrow.core/Ior.Right.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.core/Ior.Right.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.core/Ior.Right.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.core/Ior.Right.toString|toString(){}[0] + + final object Companion // arrow.core/Ior.Right.Companion|null[0] + } + + final object Companion { // arrow.core/Ior.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> bothNel(#A2, #B2): arrow.core/Ior, #B2> // arrow.core/Ior.Companion.bothNel|bothNel(0:0;0:1){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> fromNullables(#A2?, #B2?): arrow.core/Ior<#A2, #B2>? // arrow.core/Ior.Companion.fromNullables|fromNullables(0:0?;0:1?){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> leftNel(#A2): arrow.core/Ior, #B2> // arrow.core/Ior.Companion.leftNel|leftNel(0:0){0§;1§}[0] + } +} + +sealed class <#A: out kotlin/Any?> arrow.core/Option { // arrow.core/Option|null[0] + final fun getOrNull(): #A? // arrow.core/Option.getOrNull|getOrNull(){}[0] + final fun isNone(): kotlin/Boolean // arrow.core/Option.isNone|isNone(){}[0] + final fun isSome(): kotlin/Boolean // arrow.core/Option.isSome|isSome(){}[0] + final fun toList(): kotlin.collections/List<#A> // arrow.core/Option.toList|toList(){}[0] + final inline fun <#A1: kotlin/Any?> flatMap(kotlin/Function1<#A, arrow.core/Option<#A1>>): arrow.core/Option<#A1> // arrow.core/Option.flatMap|flatMap(kotlin.Function1<1:0,arrow.core.Option<0:0>>){0§}[0] + final inline fun <#A1: kotlin/Any?> fold(kotlin/Function0<#A1>, kotlin/Function1<#A, #A1>): #A1 // arrow.core/Option.fold|fold(kotlin.Function0<0:0>;kotlin.Function1<1:0,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> map(kotlin/Function1<#A, #A1>): arrow.core/Option<#A1> // arrow.core/Option.map|map(kotlin.Function1<1:0,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> toEither(kotlin/Function0<#A1>): arrow.core/Either<#A1, #A> // arrow.core/Option.toEither|toEither(kotlin.Function0<0:0>){0§}[0] + final inline fun filter(kotlin/Function1<#A, kotlin/Boolean>): arrow.core/Option<#A> // arrow.core/Option.filter|filter(kotlin.Function1<1:0,kotlin.Boolean>){}[0] + final inline fun filterNot(kotlin/Function1<#A, kotlin/Boolean>): arrow.core/Option<#A> // arrow.core/Option.filterNot|filterNot(kotlin.Function1<1:0,kotlin.Boolean>){}[0] + final inline fun isSome(kotlin/Function1<#A, kotlin/Boolean>): kotlin/Boolean // arrow.core/Option.isSome|isSome(kotlin.Function1<1:0,kotlin.Boolean>){}[0] + final inline fun onNone(kotlin/Function0): arrow.core/Option<#A> // arrow.core/Option.onNone|onNone(kotlin.Function0){}[0] + final inline fun onSome(kotlin/Function1<#A, kotlin/Unit>): arrow.core/Option<#A> // arrow.core/Option.onSome|onSome(kotlin.Function1<1:0,kotlin.Unit>){}[0] + open fun toString(): kotlin/String // arrow.core/Option.toString|toString(){}[0] + + final object Companion { // arrow.core/Option.Companion|null[0] + final fun <#A2: kotlin/Any?> fromNullable(#A2?): arrow.core/Option<#A2> // arrow.core/Option.Companion.fromNullable|fromNullable(0:0?){0§}[0] + final fun <#A2: kotlin/Any?> invoke(#A2): arrow.core/Option<#A2> // arrow.core/Option.Companion.invoke|invoke(0:0){0§}[0] + final inline fun <#A2: kotlin/Any?> catch(kotlin/Function1, #A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function1,0:0>){0§}[0] + final inline fun <#A2: kotlin/Any?> catch(kotlin/Function1>, kotlin/Function1, #A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function1>;kotlin.Function1,0:0>){0§}[0] + } +} + +sealed class arrow.core.raise/RaiseCancellationException : kotlin.coroutines.cancellation/CancellationException // arrow.core.raise/RaiseCancellationException|null[0] + +final object arrow.core/ArrowCoreInternalException : kotlin/RuntimeException // arrow.core/ArrowCoreInternalException|null[0] + +final object arrow.core/EmptyValue { // arrow.core/EmptyValue|null[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> fold(kotlin/Any?, kotlin/Function0<#B1>, kotlin/Function1<#A1, #B1>): #B1 // arrow.core/EmptyValue.fold|fold(kotlin.Any?;kotlin.Function0<0:1>;kotlin.Function1<0:0,0:1>){0§;1§}[0] + final inline fun <#A1: kotlin/Any?> combine(kotlin/Any?, #A1, kotlin/Function2<#A1, #A1, #A1>): #A1 // arrow.core/EmptyValue.combine|combine(kotlin.Any?;0:0;kotlin.Function2<0:0,0:0,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> unbox(kotlin/Any?): #A1 // arrow.core/EmptyValue.unbox|unbox(kotlin.Any?){0§}[0] +} + +final object arrow.core/None : arrow.core/Option { // arrow.core/None|null[0] + final fun toString(): kotlin/String // arrow.core/None.toString|toString(){}[0] +} + +final const val arrow.core/DeprecatedAmbiguity // arrow.core/DeprecatedAmbiguity|{}DeprecatedAmbiguity[0] + final fun (): kotlin/String // arrow.core/DeprecatedAmbiguity.|(){}[0] +final const val arrow.core/DeprecatedUnsafeAccess // arrow.core/DeprecatedUnsafeAccess|{}DeprecatedUnsafeAccess[0] + final fun (): kotlin/String // arrow.core/DeprecatedUnsafeAccess.|(){}[0] +final const val arrow.core/NicheAPI // arrow.core/NicheAPI|{}NicheAPI[0] + final fun (): kotlin/String // arrow.core/NicheAPI.|(){}[0] +final const val arrow.core/RedundantAPI // arrow.core/RedundantAPI|{}RedundantAPI[0] + final fun (): kotlin/String // arrow.core/RedundantAPI.|(){}[0] + +final fun (arrow.core.raise/Traced).arrow.core.raise/withCause(arrow.core.raise/Traced): arrow.core.raise/Traced // arrow.core.raise/withCause|withCause@arrow.core.raise.Traced(arrow.core.raise.Traced){}[0] +final fun (kotlin/String).arrow.core/escaped(): kotlin/String // arrow.core/escaped|escaped@kotlin.String(){}[0] +final fun (kotlin/Throwable).arrow.core/nonFatalOrThrow(): kotlin/Throwable // arrow.core/nonFatalOrThrow|nonFatalOrThrow@kotlin.Throwable(){}[0] +final fun <#A: kotlin/Any> (kotlin/Function1<#A, kotlin/Boolean>).arrow.core/mapNullable(): kotlin/Function1<#A?, kotlin/Boolean> // arrow.core/mapNullable|mapNullable@kotlin.Function1<0:0,kotlin.Boolean>(){0§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin.sequences/Sequence<#J>, kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>): kotlin.sequences/Sequence<#K> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.sequences.Sequence<0:9>;kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin.sequences/Sequence<#I>, kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>): kotlin.sequences/Sequence<#J> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.sequences.Sequence<0:8>;kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.core/Tuple8<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/plus(#I): arrow.core/Tuple9<#A, #B, #C, #D, #E, #F, #G, #H, #I> // arrow.core/plus|plus@arrow.core.Tuple8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin.sequences/Sequence<#H>, kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>): kotlin.sequences/Sequence<#I> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.sequences.Sequence<0:7>;kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.core/Tuple7<#A, #B, #C, #D, #E, #F, #G>).arrow.core/plus(#H): arrow.core/Tuple8<#A, #B, #C, #D, #E, #F, #G, #H> // arrow.core/plus|plus@arrow.core.Tuple7<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:7){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin.sequences/Sequence<#G>, kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>): kotlin.sequences/Sequence<#H> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.sequences.Sequence<0:6>;kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.core/Tuple6<#A, #B, #C, #D, #E, #F>).arrow.core/plus(#G): arrow.core/Tuple7<#A, #B, #C, #D, #E, #F, #G> // arrow.core/plus|plus@arrow.core.Tuple6<0:0,0:1,0:2,0:3,0:4,0:5>(0:6){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin.sequences/Sequence<#F>, kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>): kotlin.sequences/Sequence<#G> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.sequences.Sequence<0:5>;kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.core/Tuple5<#A, #B, #C, #D, #E>).arrow.core/plus(#F): arrow.core/Tuple6<#A, #B, #C, #D, #E, #F> // arrow.core/plus|plus@arrow.core.Tuple5<0:0,0:1,0:2,0:3,0:4>(0:5){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin.sequences/Sequence<#E>, kotlin/Function5<#A, #B, #C, #D, #E, #F>): kotlin.sequences/Sequence<#F> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.sequences.Sequence<0:4>;kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.core/Tuple4<#A, #B, #C, #D>).arrow.core/plus(#E): arrow.core/Tuple5<#A, #B, #C, #D, #E> // arrow.core/plus|plus@arrow.core.Tuple4<0:0,0:1,0:2,0:3>(0:4){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin.sequences/Sequence<#D>, kotlin/Function4<#A, #B, #C, #D, #E>): kotlin.sequences/Sequence<#E> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.sequences.Sequence<0:3>;kotlin.Function4<0:0,0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/align(kotlin.collections/Map<#A, #C>, kotlin/Function1>, #D>): kotlin.collections/Map<#A, #D> // arrow.core/align|align@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.Function1>,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/padZip(kotlin.collections/Map<#A, #C>, kotlin/Function3<#A, #B?, #C?, #D>): kotlin.collections/Map<#A, #D> // arrow.core/padZip|padZip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.Function3<0:0,0:1?,0:2?,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/zip(kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#C>, kotlin/Function3<#A, #B, #C, #D>): kotlin.sequences/Sequence<#D> // arrow.core/zip|zip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.sequences.Sequence<0:2>;kotlin.Function3<0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Triple<#A, #B, #C>).arrow.core/plus(#D): arrow.core/Tuple4<#A, #B, #C, #D> // arrow.core/plus|plus@kotlin.Triple<0:0,0:1,0:2>(0:3){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/Either<#A, #B>).arrow.core/handleErrorWith(kotlin/Function1<#A, arrow.core/Either<#C, #B>>): arrow.core/Either<#C, #B> // arrow.core/handleErrorWith|handleErrorWith@arrow.core.Either<0:0,0:1>(kotlin.Function1<0:0,arrow.core.Either<0:2,0:1>>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/NonEmptyList<#C>).arrow.core/unzip(kotlin/Function1<#C, kotlin/Pair<#A, #B>>): kotlin/Pair, arrow.core/NonEmptyList<#B>> // arrow.core/unzip|unzip@arrow.core.NonEmptyList<0:2>(kotlin.Function1<0:2,kotlin.Pair<0:0,0:1>>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/crosswalkMap(kotlin/Function1<#A, kotlin.collections/Map<#B, #C>>): kotlin.collections/Map<#B, kotlin.collections/List<#C>> // arrow.core/crosswalkMap|crosswalkMap@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,kotlin.collections.Map<0:1,0:2>>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/align(kotlin.collections/Map<#A, #C>): kotlin.collections/Map<#A, arrow.core/Ior<#B, #C>> // arrow.core/align|align@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/flatMapValues(kotlin/Function1, kotlin.collections/Map<#A, #C>>): kotlin.collections/Map<#A, #C> // arrow.core/flatMapValues|flatMapValues@kotlin.collections.Map<0:0,0:1>(kotlin.Function1,kotlin.collections.Map<0:0,0:2>>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/padZip(kotlin.collections/Map<#A, #C>): kotlin.collections/Map<#A, kotlin/Pair<#B?, #C?>> // arrow.core/padZip|padZip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>): kotlin.collections/Map<#A, kotlin/Pair<#B, #C>> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, arrow.core/Ior<#B, #C>>).arrow.core/unalign(): kotlin/Pair, kotlin.collections/Map<#A, #C>> // arrow.core/unalign|unalign@kotlin.collections.Map<0:0,arrow.core.Ior<0:1,0:2>>(){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, kotlin/Pair<#B, #C>>).arrow.core/unzip(): kotlin/Pair, kotlin.collections/Map<#A, #C>> // arrow.core/unzip|unzip@kotlin.collections.Map<0:0,kotlin.Pair<0:1,0:2>>(){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #C>).arrow.core.raise/mapError(kotlin.coroutines/SuspendFunction1<#A, #B>): kotlin.coroutines/SuspendFunction1, #C> // arrow.core.raise/mapError|mapError@kotlin.coroutines.SuspendFunction1,0:2>(kotlin.coroutines.SuspendFunction1<0:0,0:1>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #C>).arrow.core.raise/recover(kotlin.coroutines/SuspendFunction2, #A, #C>): kotlin.coroutines/SuspendFunction1, #C> // arrow.core.raise/recover|recover@kotlin.coroutines.SuspendFunction1,0:2>(kotlin.coroutines.SuspendFunction2,0:0,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/align(kotlin.sequences/Sequence<#B>, kotlin/Function1, #C>): kotlin.sequences/Sequence<#C> // arrow.core/align|align@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.Function1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/leftPadZip(kotlin.sequences/Sequence<#B>, kotlin/Function2<#A?, #B, #C>): kotlin.sequences/Sequence<#C> // arrow.core/leftPadZip|leftPadZip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.Function2<0:0?,0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/padZip(kotlin.sequences/Sequence<#B>, kotlin/Function2<#A?, #B?, #C>): kotlin.sequences/Sequence<#C> // arrow.core/padZip|padZip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.Function2<0:0?,0:1?,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/rightPadZip(kotlin.sequences/Sequence<#B>, kotlin/Function2<#A, #B?, #C>): kotlin.sequences/Sequence<#C> // arrow.core/rightPadZip|rightPadZip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.Function2<0:0,0:1?,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#B>).arrow.core/mapOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, #C>): arrow.core/Either<#A, kotlin.collections/List<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@kotlin.sequences.Sequence<0:1>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#B>).arrow.core/mapOrAccumulate(kotlin/Function2, #B, #C>): arrow.core/Either, kotlin.collections/List<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@kotlin.sequences.Sequence<0:1>(kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#C>).arrow.core/unalign(kotlin/Function1<#C, arrow.core/Ior<#A, #B>>): kotlin/Pair, kotlin.sequences/Sequence<#B>> // arrow.core/unalign|unalign@kotlin.sequences.Sequence<0:2>(kotlin.Function1<0:2,arrow.core.Ior<0:0,0:1>>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.sequences/Sequence<#C>).arrow.core/unzip(kotlin/Function1<#C, kotlin/Pair<#A, #B>>): kotlin/Pair, kotlin.sequences/Sequence<#B>> // arrow.core/unzip|unzip@kotlin.sequences.Sequence<0:2>(kotlin.Function1<0:2,kotlin.Pair<0:0,0:1>>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1, #C>).arrow.core.raise/mapError(kotlin/Function1<#A, #B>): kotlin/Function1, #C> // arrow.core.raise/mapError|mapError@kotlin.Function1,0:2>(kotlin.Function1<0:0,0:1>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1, #C>).arrow.core.raise/recover(kotlin/Function2, #A, #C>): kotlin/Function1, #C> // arrow.core.raise/recover|recover@kotlin.Function1,0:2>(kotlin.Function2,0:0,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Pair<#A, #B>).arrow.core/plus(#C): kotlin/Triple<#A, #B, #C> // arrow.core/plus|plus@kotlin.Pair<0:0,0:1>(0:2){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Either<#A, #B>).arrow.core/combine(arrow.core/Either<#A, #B>, kotlin/Function2<#A, #A, #A>, kotlin/Function2<#B, #B, #B>): arrow.core/Either<#A, #B> // arrow.core/combine|combine@arrow.core.Either<0:0,0:1>(arrow.core.Either<0:0,0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2<0:1,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Either<#A, #B>).arrow.core/toEitherNel(): arrow.core/Either, #B> // arrow.core/toEitherNel|toEitherNel@arrow.core.Either<0:0,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Either<#A, arrow.core/Either<#A, #B>>).arrow.core/flatten(): arrow.core/Either<#A, #B> // arrow.core/flatten|flatten@arrow.core.Either<0:0,arrow.core.Either<0:0,0:1>>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Ior<#A, #B>).arrow.core/combine(arrow.core/Ior<#A, #B>, kotlin/Function2<#A, #A, #A>, kotlin/Function2<#B, #B, #B>): arrow.core/Ior<#A, #B> // arrow.core/combine|combine@arrow.core.Ior<0:0,0:1>(arrow.core.Ior<0:0,0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2<0:1,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Ior<#A, #B>).arrow.core/toIorNel(): arrow.core/Ior, #B> // arrow.core/toIorNel|toIorNel@arrow.core.Ior<0:0,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/NonEmptyList>).arrow.core/unzip(): kotlin/Pair, arrow.core/NonEmptyList<#B>> // arrow.core/unzip|unzip@arrow.core.NonEmptyList>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Option>).arrow.core/toMap(): kotlin.collections/Map<#A, #B> // arrow.core/toMap|toMap@arrow.core.Option>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/align(kotlin.collections/Iterable<#B>): kotlin.collections/List> // arrow.core/align|align@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/crosswalk(kotlin/Function1<#A, kotlin.collections/Iterable<#B>>): kotlin.collections/List> // arrow.core/crosswalk|crosswalk@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,kotlin.collections.Iterable<0:1>>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/crosswalkNull(kotlin/Function1<#A, #B?>): kotlin.collections/List<#B>? // arrow.core/crosswalkNull|crosswalkNull@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,0:1?>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/leftPadZip(kotlin.collections/Iterable<#B>): kotlin.collections/List> // arrow.core/leftPadZip|leftPadZip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/padZip(kotlin.collections/Iterable<#B>): kotlin.collections/List> // arrow.core/padZip|padZip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/rightPadZip(kotlin.collections/Iterable<#B>): kotlin.collections/List> // arrow.core/rightPadZip|rightPadZip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/unweave(kotlin/Function1<#A, kotlin.collections/Iterable<#B>>): kotlin.collections/List<#B> // arrow.core/unweave|unweave@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,kotlin.collections.Iterable<0:1>>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/flattenOrAccumulate(): arrow.core/Either, kotlin.collections/List<#B>> // arrow.core/flattenOrAccumulate|flattenOrAccumulate@kotlin.collections.Iterable>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/separateEither(): kotlin/Pair, kotlin.collections/List<#B>> // arrow.core/separateEither|separateEither@kotlin.collections.Iterable>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable, #B>>).arrow.core/flattenOrAccumulate(): arrow.core/Either, kotlin.collections/List<#B>> // arrow.core/flattenOrAccumulate|flattenOrAccumulate@kotlin.collections.Iterable,0:1>>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable, #B>>).arrow.core/flattenOrAccumulate(kotlin/Function2<#A, #A, #A>): arrow.core/Either<#A, kotlin.collections/List<#B>> // arrow.core/flattenOrAccumulate|flattenOrAccumulate@kotlin.collections.Iterable,0:1>>(kotlin.Function2<0:0,0:0,0:0>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/separateIor(): kotlin/Pair, kotlin.collections/List<#B>> // arrow.core/separateIor|separateIor@kotlin.collections.Iterable>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/unalign(): kotlin/Pair, kotlin.collections/List<#B?>> // arrow.core/unalign|unalign@kotlin.collections.Iterable>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/combine(kotlin.collections/Map<#A, #B>, kotlin/Function2<#B, #B, #B>): kotlin.collections/Map<#A, #B> // arrow.core/combine|combine@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:1>;kotlin.Function2<0:1,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/getOrNone(#A): arrow.core/Option<#B> // arrow.core/getOrNone|getOrNone@kotlin.collections.Map<0:0,0:1>(0:0){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/salign(kotlin.collections/Map<#A, #B>, kotlin/Function2<#B, #B, #B>): kotlin.collections/Map<#A, #B> // arrow.core/salign|salign@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:1>;kotlin.Function2<0:1,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Map<#A, arrow.core/Option<#B>>).arrow.core/filterOption(): kotlin.collections/Map<#A, #B> // arrow.core/filterOption|filterOption@kotlin.collections.Map<0:0,arrow.core.Option<0:1>>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/catch(): kotlin.coroutines/SuspendFunction1, kotlin/Result<#B>> // arrow.core.raise/catch|catch@kotlin.coroutines.SuspendFunction1,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/catch(kotlin.coroutines/SuspendFunction2, kotlin/Throwable, #B>): kotlin.coroutines/SuspendFunction1, #B> // arrow.core.raise/catch|catch@kotlin.coroutines.SuspendFunction1,0:1>(kotlin.coroutines.SuspendFunction2,kotlin.Throwable,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/align(kotlin.sequences/Sequence<#B>): kotlin.sequences/Sequence> // arrow.core/align|align@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/crosswalk(kotlin/Function1<#A, kotlin.collections/Iterable<#B>>): kotlin.collections/List> // arrow.core/crosswalk|crosswalk@kotlin.sequences.Sequence<0:0>(kotlin.Function1<0:0,kotlin.collections.Iterable<0:1>>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/crosswalkNull(kotlin/Function1<#A, #B?>): kotlin.collections/List<#B>? // arrow.core/crosswalkNull|crosswalkNull@kotlin.sequences.Sequence<0:0>(kotlin.Function1<0:0,0:1?>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/leftPadZip(kotlin.sequences/Sequence<#B>): kotlin.sequences/Sequence> // arrow.core/leftPadZip|leftPadZip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/padZip(kotlin.sequences/Sequence<#B>): kotlin.sequences/Sequence> // arrow.core/padZip|padZip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/rightPadZip(kotlin.sequences/Sequence<#B>): kotlin.sequences/Sequence> // arrow.core/rightPadZip|rightPadZip@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/unweave(kotlin/Function1<#A, kotlin.sequences/Sequence<#B>>): kotlin.sequences/Sequence<#B> // arrow.core/unweave|unweave@kotlin.sequences.Sequence<0:0>(kotlin.Function1<0:0,kotlin.sequences.Sequence<0:1>>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence>).arrow.core/separateEither(): kotlin/Pair, kotlin.collections/List<#B>> // arrow.core/separateEither|separateEither@kotlin.sequences.Sequence>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence>).arrow.core/unalign(): kotlin/Pair, kotlin.sequences/Sequence<#B>> // arrow.core/unalign|unalign@kotlin.sequences.Sequence>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence>).arrow.core/unzip(): kotlin/Pair, kotlin.sequences/Sequence<#B>> // arrow.core/unzip|unzip@kotlin.sequences.Sequence>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/catch(kotlin/Function2, kotlin/Throwable, #B>): kotlin/Function1, #B> // arrow.core.raise/catch|catch@kotlin.Function1,0:1>(kotlin.Function2,kotlin.Throwable,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/getOrNull(): #B? // arrow.core.raise/getOrNull|getOrNull@kotlin.Function1,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/toEither(): arrow.core/Either<#A, #B> // arrow.core.raise/toEither|toEither@kotlin.Function1,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/toIor(): arrow.core/Ior<#A, #B> // arrow.core.raise/toIor|toIor@kotlin.Function1,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Pair<#A, #B>).arrow.core/bothIor(): arrow.core/Ior<#A, #B> // arrow.core/bothIor|bothIor@kotlin.Pair<0:0,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core/MemoizedDeepRecursiveFunction(arrow.core/MemoizationCache<#A, #B> = ..., kotlin.coroutines/SuspendFunction2, #A, #B>): kotlin/DeepRecursiveFunction<#A, #B> // arrow.core/MemoizedDeepRecursiveFunction|MemoizedDeepRecursiveFunction(arrow.core.MemoizationCache<0:0,0:1>;kotlin.coroutines.SuspendFunction2,0:0,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core/constant(#B): kotlin/Function1<#A, #B> // arrow.core/constant|constant(0:1){0§;1§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.core/left(): arrow.core/Either<#A, kotlin/Nothing> // arrow.core/left|left@0:0(){0§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.core/leftIor(): arrow.core/Ior<#A, kotlin/Nothing> // arrow.core/leftIor|leftIor@0:0(){0§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.core/leftNel(): arrow.core/Either, kotlin/Nothing> // arrow.core/leftNel|leftNel@0:0(){0§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.core/prependTo(kotlin.collections/Iterable<#A>): kotlin.collections/List<#A> // arrow.core/prependTo|prependTo@0:0(kotlin.collections.Iterable<0:0>){0§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.core/right(): arrow.core/Either // arrow.core/right|right@0:0(){0§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.core/rightIor(): arrow.core/Ior // arrow.core/rightIor|rightIor@0:0(){0§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.core/some(): arrow.core/Option<#A> // arrow.core/some|some@0:0(){0§}[0] +final fun <#A: kotlin/Any?> (#A?).arrow.core/toOption(): arrow.core/Option<#A> // arrow.core/toOption|toOption@0:0?(){0§}[0] +final fun <#A: kotlin/Any?> (arrow.core/Either<#A, #A>).arrow.core/merge(): #A // arrow.core/merge|merge@arrow.core.Either<0:0,0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (arrow.core/NonEmptyList>).arrow.core/flatten(): arrow.core/NonEmptyList<#A> // arrow.core/flatten|flatten@arrow.core.NonEmptyList>(){0§}[0] +final fun <#A: kotlin/Any?> (arrow.core/Option<#A>).arrow.core/combine(arrow.core/Option<#A>, kotlin/Function2<#A, #A, #A>): arrow.core/Option<#A> // arrow.core/combine|combine@arrow.core.Option<0:0>(arrow.core.Option<0:0>;kotlin.Function2<0:0,0:0,0:0>){0§}[0] +final fun <#A: kotlin/Any?> (arrow.core/Option>).arrow.core/flatten(): arrow.core/Option<#A> // arrow.core/flatten|flatten@arrow.core.Option>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/collectionSizeOrDefault(kotlin/Int): kotlin/Int // arrow.core/collectionSizeOrDefault|collectionSizeOrDefault@kotlin.collections.Iterable<0:0>(kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/elementAtOrNone(kotlin/Int): arrow.core/Option<#A> // arrow.core/elementAtOrNone|elementAtOrNone@kotlin.collections.Iterable<0:0>(kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/firstOrNone(): arrow.core/Option<#A> // arrow.core/firstOrNone|firstOrNone@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/interleave(kotlin.collections/Iterable<#A>): kotlin.collections/List<#A> // arrow.core/interleave|interleave@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:0>){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/lastOrNone(): arrow.core/Option<#A> // arrow.core/lastOrNone|lastOrNone@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/singleOrNone(): arrow.core/Option<#A> // arrow.core/singleOrNone|singleOrNone@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/split(): kotlin/Pair, #A>? // arrow.core/split|split@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/tail(): kotlin.collections/List<#A> // arrow.core/tail|tail@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/toNonEmptyListOrNone(): arrow.core/Option> // arrow.core/toNonEmptyListOrNone|toNonEmptyListOrNone@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/toNonEmptyListOrNull(): arrow.core/NonEmptyList<#A>? // arrow.core/toNonEmptyListOrNull|toNonEmptyListOrNull@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/toNonEmptySetOrNone(): arrow.core/Option> // arrow.core/toNonEmptySetOrNone|toNonEmptySetOrNone@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/toNonEmptySetOrNull(): arrow.core/NonEmptySet<#A>? // arrow.core/toNonEmptySetOrNull|toNonEmptySetOrNull@kotlin.collections.Iterable<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/filterOption(): kotlin.collections/List<#A> // arrow.core/filterOption|filterOption@kotlin.collections.Iterable>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/flattenOption(): kotlin.collections/List<#A> // arrow.core/flattenOption|flattenOption@kotlin.collections.Iterable>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/flatten(): kotlin.collections/List<#A> // arrow.core/flatten|flatten@kotlin.collections.Iterable>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Set<#A>).arrow.core/toNonEmptySetOrNone(): arrow.core/Option> // arrow.core/toNonEmptySetOrNone|toNonEmptySetOrNone@kotlin.collections.Set<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/Set<#A>).arrow.core/toNonEmptySetOrNull(): arrow.core/NonEmptySet<#A>? // arrow.core/toNonEmptySetOrNull|toNonEmptySetOrNull@kotlin.collections.Set<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.coroutines.cancellation/CancellationException).arrow.core.raise/raisedOrRethrow(arrow.core.raise/DefaultRaise): #A // arrow.core.raise/raisedOrRethrow|raisedOrRethrow@kotlin.coroutines.cancellation.CancellationException(arrow.core.raise.DefaultRaise){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/interleave(kotlin.sequences/Sequence<#A>): kotlin.sequences/Sequence<#A> // arrow.core/interleave|interleave@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:0>){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/many(): kotlin.sequences/Sequence> // arrow.core/many|many@kotlin.sequences.Sequence<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/once(): kotlin.sequences/Sequence<#A> // arrow.core/once|once@kotlin.sequences.Sequence<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/salign(kotlin.sequences/Sequence<#A>, kotlin/Function2<#A, #A, #A>): kotlin.sequences/Sequence<#A> // arrow.core/salign|salign@kotlin.sequences.Sequence<0:0>(kotlin.sequences.Sequence<0:0>;kotlin.Function2<0:0,0:0,0:0>){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/split(): kotlin/Pair, #A>? // arrow.core/split|split@kotlin.sequences.Sequence<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.core/tail(): kotlin.sequences/Sequence<#A> // arrow.core/tail|tail@kotlin.sequences.Sequence<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence>).arrow.core/filterOption(): kotlin.sequences/Sequence<#A> // arrow.core/filterOption|filterOption@kotlin.sequences.Sequence>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.sequences/Sequence>).arrow.core/flatten(): kotlin.sequences/Sequence<#A> // arrow.core/flatten|flatten@kotlin.sequences.Sequence>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin/Function1, #A>).arrow.core.raise/merge(): #A // arrow.core.raise/merge|merge@kotlin.Function1,0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin/Function1, #A>).arrow.core/toOption(): arrow.core/Option<#A> // arrow.core/toOption|toOption@kotlin.Function1,0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin/Function1, #A>).arrow.core.raise/get(): #A // arrow.core.raise/get|get@kotlin.Function1,0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin/Function1, #A>).arrow.core.raise/toResult(): kotlin/Result<#A> // arrow.core.raise/toResult|toResult@kotlin.Function1,0:0>(){0§}[0] +final fun <#A: kotlin/Any?> arrow.core/nonEmptyListOf(#A, kotlin/Array...): arrow.core/NonEmptyList<#A> // arrow.core/nonEmptyListOf|nonEmptyListOf(0:0;kotlin.Array...){0§}[0] +final fun <#A: kotlin/Any?> arrow.core/nonEmptySetOf(#A, kotlin/Array...): arrow.core/NonEmptySet<#A> // arrow.core/nonEmptySetOf|nonEmptySetOf(0:0;kotlin.Array...){0§}[0] +final fun <#A: kotlin/Any?> arrow.core/none(): arrow.core/Option<#A> // arrow.core/none|none(){0§}[0] +final fun <#A: kotlin/Any?> arrow.core/sort(#A, #A, #A, kotlin/Comparator<#A>): kotlin/Triple<#A, #A, #A> // arrow.core/sort|sort(0:0;0:0;0:0;kotlin.Comparator<0:0>){0§}[0] +final fun <#A: kotlin/Any?> arrow.core/sort(#A, #A, kotlin/Comparator<#A>): kotlin/Pair<#A, #A> // arrow.core/sort|sort(0:0;0:0;kotlin.Comparator<0:0>){0§}[0] +final fun <#A: kotlin/Any?> arrow.core/sort(#A, kotlin/Array..., kotlin/Comparator<#A>): kotlin.collections/List<#A> // arrow.core/sort|sort(0:0;kotlin.Array...;kotlin.Comparator<0:0>){0§}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>, #C: kotlin/Comparable<#C>, #D: kotlin/Comparable<#D>, #E: kotlin/Comparable<#E>, #F: kotlin/Comparable<#F>, #G: kotlin/Comparable<#G>, #H: kotlin/Comparable<#H>, #I: kotlin/Comparable<#I>> (arrow.core/Tuple9<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/compareTo(arrow.core/Tuple9<#A, #B, #C, #D, #E, #F, #G, #H, #I>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Tuple9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(arrow.core.Tuple9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§>;1§>;2§>;3§>;4§>;5§>;6§>;7§>;8§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>, #C: kotlin/Comparable<#C>, #D: kotlin/Comparable<#D>, #E: kotlin/Comparable<#E>, #F: kotlin/Comparable<#F>, #G: kotlin/Comparable<#G>, #H: kotlin/Comparable<#H>> (arrow.core/Tuple8<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/compareTo(arrow.core/Tuple8<#A, #B, #C, #D, #E, #F, #G, #H>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Tuple8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(arrow.core.Tuple8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§>;1§>;2§>;3§>;4§>;5§>;6§>;7§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>, #C: kotlin/Comparable<#C>, #D: kotlin/Comparable<#D>, #E: kotlin/Comparable<#E>, #F: kotlin/Comparable<#F>, #G: kotlin/Comparable<#G>> (arrow.core/Tuple7<#A, #B, #C, #D, #E, #F, #G>).arrow.core/compareTo(arrow.core/Tuple7<#A, #B, #C, #D, #E, #F, #G>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Tuple7<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(arrow.core.Tuple7<0:0,0:1,0:2,0:3,0:4,0:5,0:6>){0§>;1§>;2§>;3§>;4§>;5§>;6§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>, #C: kotlin/Comparable<#C>, #D: kotlin/Comparable<#D>, #E: kotlin/Comparable<#E>, #F: kotlin/Comparable<#F>> (arrow.core/Tuple6<#A, #B, #C, #D, #E, #F>).arrow.core/compareTo(arrow.core/Tuple6<#A, #B, #C, #D, #E, #F>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Tuple6<0:0,0:1,0:2,0:3,0:4,0:5>(arrow.core.Tuple6<0:0,0:1,0:2,0:3,0:4,0:5>){0§>;1§>;2§>;3§>;4§>;5§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>, #C: kotlin/Comparable<#C>, #D: kotlin/Comparable<#D>, #E: kotlin/Comparable<#E>> (arrow.core/Tuple5<#A, #B, #C, #D, #E>).arrow.core/compareTo(arrow.core/Tuple5<#A, #B, #C, #D, #E>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Tuple5<0:0,0:1,0:2,0:3,0:4>(arrow.core.Tuple5<0:0,0:1,0:2,0:3,0:4>){0§>;1§>;2§>;3§>;4§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>, #C: kotlin/Comparable<#C>, #D: kotlin/Comparable<#D>> (arrow.core/Tuple4<#A, #B, #C, #D>).arrow.core/compareTo(arrow.core/Tuple4<#A, #B, #C, #D>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Tuple4<0:0,0:1,0:2,0:3>(arrow.core.Tuple4<0:0,0:1,0:2,0:3>){0§>;1§>;2§>;3§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>, #C: kotlin/Comparable<#C>> (kotlin/Triple<#A, #B, #C>).arrow.core/compareTo(kotlin/Triple<#A, #B, #C>): kotlin/Int // arrow.core/compareTo|compareTo@kotlin.Triple<0:0,0:1,0:2>(kotlin.Triple<0:0,0:1,0:2>){0§>;1§>;2§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>> (arrow.core/Either<#A, #B>).arrow.core/compareTo(arrow.core/Either<#A, #B>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Either<0:0,0:1>(arrow.core.Either<0:0,0:1>){0§>;1§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>> (arrow.core/Ior<#A, #B>).arrow.core/compareTo(arrow.core/Ior<#A, #B>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Ior<0:0,0:1>(arrow.core.Ior<0:0,0:1>){0§>;1§>}[0] +final fun <#A: kotlin/Comparable<#A>, #B: kotlin/Comparable<#B>> (kotlin/Pair<#A, #B>).arrow.core/compareTo(kotlin/Pair<#A, #B>): kotlin/Int // arrow.core/compareTo|compareTo@kotlin.Pair<0:0,0:1>(kotlin.Pair<0:0,0:1>){0§>;1§>}[0] +final fun <#A: kotlin/Comparable<#A>> (arrow.core/NonEmptyList<#A>).arrow.core/compareTo(arrow.core/NonEmptyList<#A>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.NonEmptyList<0:0>(arrow.core.NonEmptyList<0:0>){0§>}[0] +final fun <#A: kotlin/Comparable<#A>> (arrow.core/Option<#A>).arrow.core/compareTo(arrow.core/Option<#A>): kotlin/Int // arrow.core/compareTo|compareTo@arrow.core.Option<0:0>(arrow.core.Option<0:0>){0§>}[0] +final fun <#A: kotlin/Comparable<#A>> (kotlin.collections/Iterable<#A>).arrow.core/compareTo(kotlin.collections/Iterable<#A>): kotlin/Int // arrow.core/compareTo|compareTo@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:0>){0§>}[0] +final fun <#A: kotlin/Comparable<#A>> arrow.core/sort(#A, #A): kotlin/Pair<#A, #A> // arrow.core/sort|sort(0:0;0:0){0§>}[0] +final fun <#A: kotlin/Comparable<#A>> arrow.core/sort(#A, #A, #A): kotlin/Triple<#A, #A, #A> // arrow.core/sort|sort(0:0;0:0;0:0){0§>}[0] +final fun <#A: kotlin/Comparable<#A>> arrow.core/sort(#A, kotlin/Array...): kotlin.collections/List<#A> // arrow.core/sort|sort(0:0;kotlin.Array...){0§>}[0] +final fun arrow.core/NonFatal(kotlin/Throwable): kotlin/Boolean // arrow.core/NonFatal|NonFatal(kotlin.Throwable){}[0] +final fun arrow.core/sort(kotlin/Byte, kotlin/Byte): kotlin/Pair // arrow.core/sort|sort(kotlin.Byte;kotlin.Byte){}[0] +final fun arrow.core/sort(kotlin/Byte, kotlin/Byte, kotlin/Byte): kotlin/Triple // arrow.core/sort|sort(kotlin.Byte;kotlin.Byte;kotlin.Byte){}[0] +final fun arrow.core/sort(kotlin/Byte, kotlin/ByteArray...): kotlin.collections/List // arrow.core/sort|sort(kotlin.Byte;kotlin.ByteArray...){}[0] +final fun arrow.core/sort(kotlin/Int, kotlin/Int): kotlin/Pair // arrow.core/sort|sort(kotlin.Int;kotlin.Int){}[0] +final fun arrow.core/sort(kotlin/Int, kotlin/Int, kotlin/Int): kotlin/Triple // arrow.core/sort|sort(kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final fun arrow.core/sort(kotlin/Int, kotlin/IntArray...): kotlin.collections/List // arrow.core/sort|sort(kotlin.Int;kotlin.IntArray...){}[0] +final fun arrow.core/sort(kotlin/Long, kotlin/Long): kotlin/Pair // arrow.core/sort|sort(kotlin.Long;kotlin.Long){}[0] +final fun arrow.core/sort(kotlin/Long, kotlin/Long, kotlin/Long): kotlin/Triple // arrow.core/sort|sort(kotlin.Long;kotlin.Long;kotlin.Long){}[0] +final fun arrow.core/sort(kotlin/Long, kotlin/LongArray...): kotlin.collections/List // arrow.core/sort|sort(kotlin.Long;kotlin.LongArray...){}[0] +final fun arrow.core/sort(kotlin/Short, kotlin/Short): kotlin/Pair // arrow.core/sort|sort(kotlin.Short;kotlin.Short){}[0] +final fun arrow.core/sort(kotlin/Short, kotlin/Short, kotlin/Short): kotlin/Triple // arrow.core/sort|sort(kotlin.Short;kotlin.Short;kotlin.Short){}[0] +final fun arrow.core/sort(kotlin/Short, kotlin/ShortArray...): kotlin.collections/List // arrow.core/sort|sort(kotlin.Short;kotlin.ShortArray...){}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any> (arrow.core.raise/Raise<#A>).arrow.core.raise/ensureNotNull(#B?, kotlin/Function0<#A>): #B // arrow.core.raise/ensureNotNull|ensureNotNull@arrow.core.raise.Raise<0:0>(0:1?;kotlin.Function0<0:0>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin.collections/Map<#A, #K>, kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>): kotlin.collections/Map<#A, #L> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.collections.Map<0:0,0:10>;kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function9<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K>): #K // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function9<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function1, #J>, kotlin/Function9<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K>): #K // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function1,0:9>;kotlin.Function9<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin.collections/Iterable<#J>, kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>): kotlin.collections/List<#K> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.collections.Iterable<0:9>;kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin.collections/Map<#A, #J>, kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>): kotlin.collections/Map<#A, #K> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.collections.Map<0:0,0:9>;kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function8<#B, #C, #D, #E, #F, #G, #H, #I, #J>): #J // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function8<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function1, #I>, kotlin/Function8<#B, #C, #D, #E, #F, #G, #H, #I, #J>): #J // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function1,0:8>;kotlin.Function8<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin.collections/Iterable<#I>, kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>): kotlin.collections/List<#J> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.collections.Iterable<0:8>;kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin.collections/Map<#A, #I>, kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>): kotlin.collections/Map<#A, #J> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.collections.Map<0:0,0:8>;kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function7<#B, #C, #D, #E, #F, #G, #H, #I>): #I // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function7<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function1, #H>, kotlin/Function7<#B, #C, #D, #E, #F, #G, #H, #I>): #I // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function1,0:7>;kotlin.Function7<0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin.collections/Iterable<#H>, kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>): kotlin.collections/List<#I> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.collections.Iterable<0:7>;kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin.collections/Map<#A, #H>, kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>): kotlin.collections/Map<#A, #I> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.collections.Map<0:0,0:7>;kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function6<#B, #C, #D, #E, #F, #G, #H>): #H // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function6<0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function1, #G>, kotlin/Function6<#B, #C, #D, #E, #F, #G, #H>): #H // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function1,0:6>;kotlin.Function6<0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin.collections/Iterable<#G>, kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>): kotlin.collections/List<#H> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.collections.Iterable<0:6>;kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin.collections/Map<#A, #G>, kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>): kotlin.collections/Map<#A, #H> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.collections.Map<0:0,0:6>;kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function5<#B, #C, #D, #E, #F, #G>): #G // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function5<0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function1, #F>, kotlin/Function5<#B, #C, #D, #E, #F, #G>): #G // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function1,0:5>;kotlin.Function5<0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin.collections/Iterable<#F>, kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>): kotlin.collections/List<#G> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.collections.Iterable<0:5>;kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin.collections/Map<#A, #F>, kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>): kotlin.collections/Map<#A, #G> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.collections.Map<0:0,0:5>;kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function4<#B, #C, #D, #E, #F>): #F // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function4<0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function1, #E>, kotlin/Function4<#B, #C, #D, #E, #F>): #F // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function1,0:4>;kotlin.Function4<0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin.collections/Iterable<#E>, kotlin/Function5<#A, #B, #C, #D, #E, #F>): kotlin.collections/List<#F> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.collections.Iterable<0:4>;kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin.collections/Map<#A, #E>, kotlin/Function5<#A, #B, #C, #D, #E, #F>): kotlin.collections/Map<#A, #F> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.collections.Map<0:0,0:4>;kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function3<#B, #C, #D, #E>): #E // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function3<0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function1, #D>, kotlin/Function3<#B, #C, #D, #E>): #E // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function1,0:3>;kotlin.Function3<0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin.collections/Iterable<#D>, kotlin/Function4<#A, #B, #C, #D, #E>): kotlin.collections/List<#E> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.collections.Iterable<0:3>;kotlin.Function4<0:0,0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin.collections/Map<#A, #D>, kotlin/Function4<#A, #B, #C, #D, #E>): kotlin.collections/Map<#A, #E> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.collections.Map<0:0,0:3>;kotlin.Function4<0:0,0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/zipOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function2<#B, #C, #D>): #D // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function2<0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise<#B>).arrow.core.raise/mapOrAccumulate(kotlin.collections/Map<#A, #C>, kotlin/Function2<#B, #B, #B>, kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): kotlin.collections/Map<#A, #D> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise<0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.Function2<0:1,0:1,0:1>;kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise<#B>).arrow.core.raise/mapValuesOrAccumulate(kotlin.collections/Map<#A, #C>, kotlin/Function2<#B, #B, #B>, kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): kotlin.collections/Map<#A, #D> // arrow.core.raise/mapValuesOrAccumulate|mapValuesOrAccumulate@arrow.core.raise.Raise<0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.Function2<0:1,0:1,0:1>;kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/zipOrAccumulate(kotlin/Function1, #B>, kotlin/Function1, #C>, kotlin/Function2<#B, #C, #D>): #D // arrow.core.raise/zipOrAccumulate|zipOrAccumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>;kotlin.Function1,0:2>;kotlin.Function2<0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/mapOrAccumulate(kotlin.collections/Map<#A, #C>, kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): kotlin.collections/Map<#A, #D> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise>(kotlin.collections.Map<0:0,0:2>;kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/mapValuesOrAccumulate(kotlin.collections/Map<#A, #C>, kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): kotlin.collections/Map<#A, #D> // arrow.core.raise/mapValuesOrAccumulate|mapValuesOrAccumulate@arrow.core.raise.Raise>(kotlin.collections.Map<0:0,0:2>;kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/zip(kotlin.collections/Iterable<#B>, kotlin.collections/Iterable<#C>, kotlin/Function3<#A, #B, #C, #D>): kotlin.collections/List<#D> // arrow.core/zip|zip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.collections.Iterable<0:2>;kotlin.Function3<0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/padZip(kotlin.collections/Map<#A, #C>, kotlin/Function2<#A, #B, #D>, kotlin/Function2<#A, #C, #D>, kotlin/Function3<#A, #B, #C, #D>): kotlin.collections/Map<#A, #D> // arrow.core/padZip|padZip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.Function2<0:0,0:1,0:3>;kotlin.Function2<0:0,0:2,0:3>;kotlin.Function3<0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/zip(kotlin.collections/Map<#A, #C>, kotlin/Function3<#A, #B, #C, #D>): kotlin.collections/Map<#A, #D> // arrow.core/zip|zip@kotlin.collections.Map<0:0,0:1>(kotlin.collections.Map<0:0,0:2>;kotlin.Function3<0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #C>).arrow.core/mapOrAccumulate(kotlin/Function2<#B, #B, #B>, kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): arrow.core/Either<#B, kotlin.collections/Map<#A, #D>> // arrow.core/mapOrAccumulate|mapOrAccumulate@kotlin.collections.Map<0:0,0:2>(kotlin.Function2<0:1,0:1,0:1>;kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #C>).arrow.core/mapOrAccumulate(kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): arrow.core/Either, kotlin.collections/Map<#A, #D>> // arrow.core/mapOrAccumulate|mapOrAccumulate@kotlin.collections.Map<0:0,0:2>(kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #C>).arrow.core/mapValuesOrAccumulate(kotlin/Function2<#B, #B, #B>, kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): arrow.core/Either<#B, kotlin.collections/Map<#A, #D>> // arrow.core/mapValuesOrAccumulate|mapValuesOrAccumulate@kotlin.collections.Map<0:0,0:2>(kotlin.Function2<0:1,0:1,0:1>;kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #C>).arrow.core/mapValuesOrAccumulate(kotlin/Function2, kotlin.collections/Map.Entry<#A, #C>, #D>): arrow.core/Either, kotlin.collections/Map<#A, #D>> // arrow.core/mapValuesOrAccumulate|mapValuesOrAccumulate@kotlin.collections.Map<0:0,0:2>(kotlin.Function2,kotlin.collections.Map.Entry<0:0,0:2>,0:3>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #D>).arrow.core/unalign(kotlin/Function1, arrow.core/Ior<#B, #C>>): kotlin/Pair, kotlin.collections/Map<#A, #C>> // arrow.core/unalign|unalign@kotlin.collections.Map<0:0,0:3>(kotlin.Function1,arrow.core.Ior<0:1,0:2>>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.collections/Map<#A, #D>).arrow.core/unzip(kotlin/Function1, kotlin/Pair<#B, #C>>): kotlin/Pair, kotlin.collections/Map<#A, #C>> // arrow.core/unzip|unzip@kotlin.collections.Map<0:0,0:3>(kotlin.Function1,kotlin.Pair<0:1,0:2>>){0§;1§;2§;3§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/mapOrAccumulate(kotlin.collections/Iterable<#B>, kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, #C>): kotlin.collections/List<#C> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.collections.Iterable<0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/mapOrAccumulate(kotlin.sequences/Sequence<#B>, kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, #C>): kotlin.collections/List<#C> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/withError(kotlin/Function1<#B, #A>, kotlin/Function1, #C>): #C // arrow.core.raise/withError|withError@arrow.core.raise.Raise<0:0>(kotlin.Function1<0:1,0:0>;kotlin.Function1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/mapOrAccumulate(arrow.core/NonEmptyList<#B>, kotlin/Function2, #B, #C>): arrow.core/NonEmptyList<#C> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise>(arrow.core.NonEmptyList<0:1>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/mapOrAccumulate(arrow.core/NonEmptySet<#B>, kotlin/Function2, #B, #C>): arrow.core/NonEmptySet<#C> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise>(arrow.core.NonEmptySet<0:1>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/mapOrAccumulate(kotlin.collections/Iterable<#B>, kotlin/Function2, #B, #C>): kotlin.collections/List<#C> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise>(kotlin.collections.Iterable<0:1>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/mapOrAccumulate(kotlin.sequences/Sequence<#B>, kotlin/Function2, #B, #C>): kotlin.collections/List<#C> // arrow.core.raise/mapOrAccumulate|mapOrAccumulate@arrow.core.raise.Raise>(kotlin.sequences.Sequence<0:1>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/Either<#A, #B>).arrow.core/flatMap(kotlin/Function1<#B, arrow.core/Either<#A, #C>>): arrow.core/Either<#A, #C> // arrow.core/flatMap|flatMap@arrow.core.Either<0:0,0:1>(kotlin.Function1<0:1,arrow.core.Either<0:0,0:2>>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/Either<#A, #C>).arrow.core/recover(kotlin/Function2, #A, #C>): arrow.core/Either<#B, #C> // arrow.core/recover|recover@arrow.core.Either<0:0,0:2>(kotlin.Function2,0:0,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/Ior<#A, #B>).arrow.core/flatMap(kotlin/Function2<#A, #A, #A>, kotlin/Function1<#B, arrow.core/Ior<#A, #C>>): arrow.core/Ior<#A, #C> // arrow.core/flatMap|flatMap@arrow.core.Ior<0:0,0:1>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1<0:1,arrow.core.Ior<0:0,0:2>>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/Ior<#A, #B>).arrow.core/handleErrorWith(kotlin/Function2<#B, #B, #B>, kotlin/Function1<#A, arrow.core/Ior<#C, #B>>): arrow.core/Ior<#C, #B> // arrow.core/handleErrorWith|handleErrorWith@arrow.core.Ior<0:0,0:1>(kotlin.Function2<0:1,0:1,0:1>;kotlin.Function1<0:0,arrow.core.Ior<0:2,0:1>>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/NonEmptyList<#B>).arrow.core/mapOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, #C>): arrow.core/Either<#A, arrow.core/NonEmptyList<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@arrow.core.NonEmptyList<0:1>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/NonEmptyList<#B>).arrow.core/mapOrAccumulate(kotlin/Function2, #B, #C>): arrow.core/Either, arrow.core/NonEmptyList<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@arrow.core.NonEmptyList<0:1>(kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/NonEmptySet<#B>).arrow.core/mapOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, #C>): arrow.core/Either<#A, arrow.core/NonEmptySet<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@arrow.core.NonEmptySet<0:1>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/NonEmptySet<#B>).arrow.core/mapOrAccumulate(kotlin/Function2, #B, #C>): arrow.core/Either, arrow.core/NonEmptySet<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@arrow.core.NonEmptySet<0:1>(kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/align(kotlin.collections/Iterable<#B>, kotlin/Function1, #C>): kotlin.collections/List<#C> // arrow.core/align|align@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.Function1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/leftPadZip(kotlin.collections/Iterable<#B>, kotlin/Function2<#A?, #B, #C>): kotlin.collections/List<#C> // arrow.core/leftPadZip|leftPadZip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.Function2<0:0?,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/padZip(kotlin.collections/Iterable<#B>, kotlin/Function1<#A, #C>, kotlin/Function1<#B, #C>, kotlin/Function2<#A, #B, #C>): kotlin.collections/List<#C> // arrow.core/padZip|padZip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:1,0:2>;kotlin.Function2<0:0,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/padZip(kotlin.collections/Iterable<#B>, kotlin/Function2<#A?, #B?, #C>): kotlin.collections/List<#C> // arrow.core/padZip|padZip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.Function2<0:0?,0:1?,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/rightPadZip(kotlin.collections/Iterable<#B>, kotlin/Function2<#A, #B?, #C>): kotlin.collections/List<#C> // arrow.core/rightPadZip|rightPadZip@kotlin.collections.Iterable<0:0>(kotlin.collections.Iterable<0:1>;kotlin.Function2<0:0,0:1?,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/separateEither(kotlin/Function1<#A, arrow.core/Either<#B, #C>>): kotlin/Pair, kotlin.collections/List<#C>> // arrow.core/separateEither|separateEither@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,arrow.core.Either<0:1,0:2>>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#B>).arrow.core/mapOrAccumulate(kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, #C>): arrow.core/Either<#A, kotlin.collections/List<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@kotlin.collections.Iterable<0:1>(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#B>).arrow.core/mapOrAccumulate(kotlin/Function2, #B, #C>): arrow.core/Either, kotlin.collections/List<#C>> // arrow.core/mapOrAccumulate|mapOrAccumulate@kotlin.collections.Iterable<0:1>(kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#C>).arrow.core/unalign(kotlin/Function1<#C, arrow.core/Ior<#A, #B>>): kotlin/Pair, kotlin.collections/List<#B?>> // arrow.core/unalign|unalign@kotlin.collections.Iterable<0:2>(kotlin.Function1<0:2,arrow.core.Ior<0:0,0:1>>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/fold(#C, kotlin/Function2<#C, kotlin.collections/Map.Entry<#A, #B>, #C>): #C // arrow.core/fold|fold@kotlin.collections.Map<0:0,0:1>(0:2;kotlin.Function2<0:2,kotlin.collections.Map.Entry<0:0,0:1>,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Map<#A, #B>).arrow.core/mapValuesNotNull(kotlin/Function1, #C?>): kotlin.collections/Map<#A, #C> // arrow.core/mapValuesNotNull|mapValuesNotNull@kotlin.collections.Map<0:0,0:1>(kotlin.Function1,0:2?>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/fold(kotlin/Function1<#A, #C>, kotlin/Function1<#B, #C>): #C // arrow.core.raise/fold|fold@kotlin.Function1,0:1>(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/fold(kotlin/Function1, kotlin/Function1<#A, #C>, kotlin/Function1<#B, #C>): #C // arrow.core.raise/fold|fold@kotlin.Function1,0:1>(kotlin.Function1;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.core.raise/accumulate(kotlin/Function1>, #B>, #C>, crossinline kotlin/Function1, #B>): #C // arrow.core.raise/accumulate|accumulate(kotlin.Function1>,0:1>,0:2>;kotlin.Function1,0:1>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.core.raise/fold(kotlin/Function1, #B>, kotlin/Function1<#A, #C>, kotlin/Function1<#B, #C>): #C // arrow.core.raise/fold|fold(kotlin.Function1,0:1>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.core.raise/fold(kotlin/Function1, #B>, kotlin/Function1, kotlin/Function1<#A, #C>, kotlin/Function1<#B, #C>): #C // arrow.core.raise/fold|fold(kotlin.Function1,0:1>;kotlin.Function1;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/forEachAccumulating(kotlin.collections/Iterable<#B>, kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, kotlin/Unit>) // arrow.core.raise/forEachAccumulating|forEachAccumulating@arrow.core.raise.Raise<0:0>(kotlin.collections.Iterable<0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/forEachAccumulating(kotlin.collections/Iterator<#B>, kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, kotlin/Unit>) // arrow.core.raise/forEachAccumulating|forEachAccumulating@arrow.core.raise.Raise<0:0>(kotlin.collections.Iterator<0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/forEachAccumulating(kotlin.sequences/Sequence<#B>, kotlin/Function2<#A, #A, #A>, kotlin/Function2, #B, kotlin/Unit>) // arrow.core.raise/forEachAccumulating|forEachAccumulating@arrow.core.raise.Raise<0:0>(kotlin.sequences.Sequence<0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function2,0:1,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/forEachAccumulatingImpl(kotlin.collections/Iterator<#B>, kotlin/Function2<#A, #A, #A>, kotlin/Function3, #B, kotlin/Boolean, kotlin/Unit>) // arrow.core.raise/forEachAccumulatingImpl|forEachAccumulatingImpl@arrow.core.raise.Raise<0:0>(kotlin.collections.Iterator<0:1>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Function3,0:1,kotlin.Boolean,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/traced(kotlin/Function1, #B>, kotlin/Function2): #B // arrow.core.raise/traced|traced@arrow.core.raise.Raise<0:0>(kotlin.Function1,0:1>;kotlin.Function2){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/accumulate(kotlin/Function1, #B>): #B // arrow.core.raise/accumulate|accumulate@arrow.core.raise.Raise>(kotlin.Function1,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/forEachAccumulating(kotlin.collections/Iterable<#B>, kotlin/Function2, #B, kotlin/Unit>) // arrow.core.raise/forEachAccumulating|forEachAccumulating@arrow.core.raise.Raise>(kotlin.collections.Iterable<0:1>;kotlin.Function2,0:1,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/forEachAccumulating(kotlin.collections/Iterator<#B>, kotlin/Function2, #B, kotlin/Unit>) // arrow.core.raise/forEachAccumulating|forEachAccumulating@arrow.core.raise.Raise>(kotlin.collections.Iterator<0:1>;kotlin.Function2,0:1,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/forEachAccumulating(kotlin.sequences/Sequence<#B>, kotlin/Function2, #B, kotlin/Unit>) // arrow.core.raise/forEachAccumulating|forEachAccumulating@arrow.core.raise.Raise>(kotlin.sequences.Sequence<0:1>;kotlin.Function2,0:1,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise>).arrow.core.raise/forEachAccumulatingImpl(kotlin.collections/Iterator<#B>, kotlin/Function3, #B, kotlin/Boolean, kotlin/Unit>) // arrow.core.raise/forEachAccumulatingImpl|forEachAccumulatingImpl@arrow.core.raise.Raise>(kotlin.collections.Iterator<0:1>;kotlin.Function3,0:1,kotlin.Boolean,kotlin.Unit>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Either<#A, #B>).arrow.core/getOrElse(kotlin/Function1<#A, #B>): #B // arrow.core/getOrElse|getOrElse@arrow.core.Either<0:0,0:1>(kotlin.Function1<0:0,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Ior<#A, #B>).arrow.core/getOrElse(kotlin/Function1<#A, #B>): #B // arrow.core/getOrElse|getOrElse@arrow.core.Ior<0:0,0:1>(kotlin.Function1<0:0,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core/Ior<#A, arrow.core/Ior<#A, #B>>).arrow.core/flatten(kotlin/Function2<#A, #A, #A>): arrow.core/Ior<#A, #B> // arrow.core/flatten|flatten@arrow.core.Ior<0:0,arrow.core.Ior<0:0,0:1>>(kotlin.Function2<0:0,0:0,0:0>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/reduceOrNull(kotlin/Function1<#A, #B>, kotlin/Function2<#B, #A, #B>): #B? // arrow.core/reduceOrNull|reduceOrNull@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,0:1>;kotlin.Function2<0:1,0:0,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable>).arrow.core/flattenOrAccumulate(kotlin/Function2<#A, #A, #A>): arrow.core/Either<#A, kotlin.collections/List<#B>> // arrow.core/flattenOrAccumulate|flattenOrAccumulate@kotlin.collections.Iterable>(kotlin.Function2<0:0,0:0,0:0>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/List<#A>).arrow.core/reduceRightNull(kotlin/Function1<#A, #B>, kotlin/Function2<#A, #B, #B>): #B? // arrow.core/reduceRightNull|reduceRightNull@kotlin.collections.List<0:0>(kotlin.Function1<0:0,0:1>;kotlin.Function2<0:0,0:1,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/getOrElse(kotlin/Function1<#A, #B>): #B // arrow.core.raise/getOrElse|getOrElse@kotlin.Function1,0:1>(kotlin.Function1<0:0,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/toOption(kotlin/Function1<#A, arrow.core/Option<#B>>): arrow.core/Option<#B> // arrow.core.raise/toOption|toOption@kotlin.Function1,0:1>(kotlin.Function1<0:0,arrow.core.Option<0:1>>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1, #B>).arrow.core.raise/toResult(kotlin/Function1<#A, kotlin/Result<#B>>): kotlin/Result<#B> // arrow.core.raise/toResult|toResult@kotlin.Function1,0:1>(kotlin.Function1<0:0,kotlin.Result<0:1>>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Result<#A>).arrow.core/flatMap(kotlin/Function1<#A, kotlin/Result<#B>>): kotlin/Result<#B> // arrow.core/flatMap|flatMap@kotlin.Result<0:0>(kotlin.Function1<0:0,kotlin.Result<0:1>>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.raise/eagerEffect(noinline kotlin/Function1, #B>): kotlin/Function1, #B> // arrow.core.raise/eagerEffect|eagerEffect(kotlin.Function1,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.raise/effect(noinline kotlin.coroutines/SuspendFunction1, #B>): kotlin.coroutines/SuspendFunction1, #B> // arrow.core.raise/effect|effect(kotlin.coroutines.SuspendFunction1,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.raise/either(kotlin/Function1, #B>): arrow.core/Either<#A, #B> // arrow.core.raise/either|either(kotlin.Function1,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.raise/ior(noinline kotlin/Function2<#A, #A, #A>, kotlin/Function1, #B>): arrow.core/Ior<#A, #B> // arrow.core.raise/ior|ior(kotlin.Function2<0:0,0:0,0:0>;kotlin.Function1,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.raise/iorNel(noinline kotlin/Function2, arrow.core/NonEmptyList<#A>, arrow.core/NonEmptyList<#A>> = ..., kotlin/Function1>, #B>): arrow.core/Ior, #B> // arrow.core.raise/iorNel|iorNel(kotlin.Function2,arrow.core.NonEmptyList<0:0>,arrow.core.NonEmptyList<0:0>>;kotlin.Function1>,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.raise/recover(kotlin/Function1, #B>, kotlin/Function1<#A, #B>): #B // arrow.core.raise/recover|recover(kotlin.Function1,0:1>;kotlin.Function1<0:0,0:1>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.core.raise/recover(kotlin/Function1, #B>, kotlin/Function1<#A, #B>, kotlin/Function1): #B // arrow.core.raise/recover|recover(kotlin.Function1,0:1>;kotlin.Function1<0:0,0:1>;kotlin.Function1){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Comparable<#B>> (arrow.core/NonEmptyList<#A>).arrow.core/maxBy(kotlin/Function1<#A, #B>): #A // arrow.core/maxBy|maxBy@arrow.core.NonEmptyList<0:0>(kotlin.Function1<0:0,0:1>){0§;1§>}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Comparable<#B>> (arrow.core/NonEmptyList<#A>).arrow.core/minBy(kotlin/Function1<#A, #B>): #A // arrow.core/minBy|minBy@arrow.core.NonEmptyList<0:0>(kotlin.Function1<0:0,0:1>){0§;1§>}[0] +final inline fun <#A: kotlin/Any?, #B: reified kotlin/Any?> (kotlin.collections/Map<#A, *>).arrow.core/filterIsInstance(): kotlin.collections/Map<#A, #B> // arrow.core/filterIsInstance|filterIsInstance@kotlin.collections.Map<0:0,*>(){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: reified kotlin/Throwable, #C: kotlin/Any?> (arrow.core/Either).arrow.core/catch(kotlin/Function2, #B, #C>): arrow.core/Either<#A, #C> // arrow.core/catch|catch@arrow.core.Either(kotlin.Function2,0:1,0:2>){0§;1§;2§}[0] +final inline fun <#A: kotlin/Any?> (#A).arrow.core/nel(): arrow.core/NonEmptyList<#A> // arrow.core/nel|nel@0:0(){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.core.raise/ensure(kotlin/Boolean, kotlin/Function0<#A>) // arrow.core.raise/ensure|ensure@arrow.core.raise.Raise<0:0>(kotlin.Boolean;kotlin.Function0<0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.core/Option<#A>).arrow.core/getOrElse(kotlin/Function0<#A>): #A // arrow.core/getOrElse|getOrElse@arrow.core.Option<0:0>(kotlin.Function0<0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> (arrow.core/Option<#A>).arrow.core/recover(kotlin/Function1, #A>): arrow.core/Option<#A> // arrow.core/recover|recover@arrow.core.Option<0:0>(kotlin.Function1,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/firstOrNone(kotlin/Function1<#A, kotlin/Boolean>): arrow.core/Option<#A> // arrow.core/firstOrNone|firstOrNone@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,kotlin.Boolean>){0§}[0] +final inline fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/lastOrNone(kotlin/Function1<#A, kotlin/Boolean>): arrow.core/Option<#A> // arrow.core/lastOrNone|lastOrNone@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,kotlin.Boolean>){0§}[0] +final inline fun <#A: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.core/singleOrNone(kotlin/Function1<#A, kotlin/Boolean>): arrow.core/Option<#A> // arrow.core/singleOrNone|singleOrNone@kotlin.collections.Iterable<0:0>(kotlin.Function1<0:0,kotlin.Boolean>){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.core.raise/catch(kotlin/Function0<#A>, kotlin/Function1): #A // arrow.core.raise/catch|catch(kotlin.Function0<0:0>;kotlin.Function1){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.core.raise/merge(kotlin/Function1, #A>): #A // arrow.core.raise/merge|merge(kotlin.Function1,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.core.raise/nullable(kotlin/Function1, #A>): #A? // arrow.core.raise/nullable|nullable(kotlin.Function1,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.core.raise/option(kotlin/Function1, #A>): arrow.core/Option<#A> // arrow.core.raise/option|option(kotlin.Function1,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.core.raise/result(kotlin/Function1): kotlin/Result<#A> // arrow.core.raise/result|result(kotlin.Function1){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.core.raise/singleton(kotlin/Function0<#A>, kotlin/Function1, #A>): #A // arrow.core.raise/singleton|singleton(kotlin.Function0<0:0>;kotlin.Function1,0:0>){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.core/identity(#A): #A // arrow.core/identity|identity(0:0){0§}[0] +final inline fun <#A: kotlin/Comparable<#A>> (arrow.core/NonEmptyList<#A>).arrow.core/max(): #A // arrow.core/max|max@arrow.core.NonEmptyList<0:0>(){0§>}[0] +final inline fun <#A: kotlin/Comparable<#A>> (arrow.core/NonEmptyList<#A>).arrow.core/min(): #A // arrow.core/min|min@arrow.core.NonEmptyList<0:0>(){0§>}[0] +final inline fun <#A: reified kotlin/Any?> (arrow.core/Option<*>).arrow.core/filterIsInstance(): arrow.core/Option<#A> // arrow.core/filterIsInstance|filterIsInstance@arrow.core.Option<*>(){0§}[0] +final inline fun <#A: reified kotlin/Throwable, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #C>).arrow.core.raise/catch(crossinline kotlin.coroutines/SuspendFunction2, #A, #C>): kotlin.coroutines/SuspendFunction1, #C> // arrow.core.raise/catch|catch@kotlin.coroutines.SuspendFunction1,0:2>(kotlin.coroutines.SuspendFunction2,0:0,0:2>){0§;1§;2§}[0] +final inline fun <#A: reified kotlin/Throwable, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1, #C>).arrow.core.raise/catch(crossinline kotlin/Function2, #A, #C>): kotlin/Function1, #C> // arrow.core.raise/catch|catch@kotlin.Function1,0:2>(kotlin.Function2,0:0,0:2>){0§;1§;2§}[0] +final inline fun <#A: reified kotlin/Throwable, #B: kotlin/Any?, #C: kotlin/Any?> arrow.core.raise/recover(kotlin/Function1, #C>, kotlin/Function1<#B, #C>, kotlin/Function1<#A, #C>): #C // arrow.core.raise/recover|recover(kotlin.Function1,0:2>;kotlin.Function1<0:1,0:2>;kotlin.Function1<0:0,0:2>){0§;1§;2§}[0] +final inline fun <#A: reified kotlin/Throwable, #B: kotlin/Any?> arrow.core.raise/catch(kotlin/Function0<#B>, kotlin/Function1<#A, #B>): #B // arrow.core.raise/catch|catch(kotlin.Function0<0:1>;kotlin.Function1<0:0,0:1>){0§;1§}[0] +final inline fun arrow.core.raise/impure(kotlin/Function1, kotlin/Unit>) // arrow.core.raise/impure|impure(kotlin.Function1,kotlin.Unit>){}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/fold(kotlin.coroutines/SuspendFunction1<#A, #C>, kotlin.coroutines/SuspendFunction1<#B, #C>): #C // arrow.core.raise/fold|fold@kotlin.coroutines.SuspendFunction1,0:1>(kotlin.coroutines.SuspendFunction1<0:0,0:2>;kotlin.coroutines.SuspendFunction1<0:1,0:2>){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/fold(kotlin.coroutines/SuspendFunction1, kotlin.coroutines/SuspendFunction1<#A, #C>, kotlin.coroutines/SuspendFunction1<#B, #C>): #C // arrow.core.raise/fold|fold@kotlin.coroutines.SuspendFunction1,0:1>(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1<0:0,0:2>;kotlin.coroutines.SuspendFunction1<0:1,0:2>){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/getOrNull(): #B? // arrow.core.raise/getOrNull|getOrNull@kotlin.coroutines.SuspendFunction1,0:1>(){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/toEither(): arrow.core/Either<#A, #B> // arrow.core.raise/toEither|toEither@kotlin.coroutines.SuspendFunction1,0:1>(){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/toIor(): arrow.core/Ior<#A, #B> // arrow.core.raise/toIor|toIor@kotlin.coroutines.SuspendFunction1,0:1>(){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/toOption(kotlin.coroutines/SuspendFunction1<#A, arrow.core/Option<#B>>): arrow.core/Option<#B> // arrow.core.raise/toOption|toOption@kotlin.coroutines.SuspendFunction1,0:1>(kotlin.coroutines.SuspendFunction1<0:0,arrow.core.Option<0:1>>){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/toResult(kotlin.coroutines/SuspendFunction1<#A, kotlin/Result<#B>>): kotlin/Result<#B> // arrow.core.raise/toResult|toResult@kotlin.coroutines.SuspendFunction1,0:1>(kotlin.coroutines.SuspendFunction1<0:0,kotlin.Result<0:1>>){0§;1§}[0] +final suspend fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A>).arrow.core.raise/merge(): #A // arrow.core.raise/merge|merge@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] +final suspend fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A>).arrow.core/toOption(): arrow.core/Option<#A> // arrow.core/toOption|toOption@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] +final suspend fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A>).arrow.core.raise/get(): #A // arrow.core.raise/get|get@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] +final suspend fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #A>).arrow.core.raise/toResult(): kotlin/Result<#A> // arrow.core.raise/toResult|toResult@kotlin.coroutines.SuspendFunction1,0:0>(){0§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1, #B>).arrow.core.raise/getOrElse(kotlin/Function1<#A, #B>): #B // arrow.core.raise/getOrElse|getOrElse@kotlin.coroutines.SuspendFunction1,0:1>(kotlin.Function1<0:0,0:1>){0§;1§}[0] diff --git a/arrow-libs/core/arrow-core/build.gradle.kts b/arrow-libs/core/arrow-core/build.gradle.kts index c1841844ac0..ca137dabeda 100644 --- a/arrow-libs/core/arrow-core/build.gradle.kts +++ b/arrow-libs/core/arrow-core/build.gradle.kts @@ -1,12 +1,14 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.time.Duration plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -20,6 +22,9 @@ spotless { apply(from = property("ANIMALSNIFFER_MPP")) kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") + sourceSets { commonMain { dependencies { @@ -65,15 +70,17 @@ kotlin { } } } -} -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } // enables context receivers for Jvm Tests tasks.named("compileTestKotlinJvm") { - kotlinOptions.freeCompilerArgs += "-Xcontext-receivers" + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") } tasks.withType().configureEach { diff --git a/arrow-libs/core/arrow-core/gradle.properties b/arrow-libs/core/arrow-core/gradle.properties index ebbeba080da..4fc8985825c 100644 --- a/arrow-libs/core/arrow-core/gradle.properties +++ b/arrow-libs/core/arrow-core/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Core +POM_NAME=Arrow Core # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Either.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Either.kt index 0f435f523b2..1ae97e13681 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Either.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Either.kt @@ -650,10 +650,11 @@ public sealed class Either { * */ public inline fun mapLeft(f: (A) -> C): Either { - contract { - callsInPlace(f, InvocationKind.AT_MOST_ONCE) + contract { callsInPlace(f, InvocationKind.AT_MOST_ONCE) } + return when (this) { + is Left -> Left(f(value)) + is Right -> Right(value) } - return fold({ Left(f(it)) }, { Right(it) }) } /** @@ -1291,6 +1292,21 @@ public inline fun Either.flatMap(f: (right: B) -> Either): } } +/** + * Binds the given function across [Left], that is, + * Map, or transform, the left value [A] of this [Either] into a new [Either] with a left value of type [C]. + * Returns a new [Either] with either the original right value of type [B] or the newly transformed left value of type [C]. + * + * @param f The function to bind across [Left]. + */ +public fun Either.handleErrorWith(f: (A) -> Either): Either { + contract { callsInPlace(f, InvocationKind.AT_MOST_ONCE) } + return when (this) { + is Left -> f(this.value) + is Right -> this + } +} + public fun Either>.flatten(): Either = flatMap(::identity) @@ -1312,7 +1328,10 @@ public fun Either>.flatten(): Either = */ public inline infix fun Either.getOrElse(default: (A) -> B): B { contract { callsInPlace(default, InvocationKind.AT_MOST_ONCE) } - return fold(default, ::identity) + return when(this) { + is Left -> default(this.value) + is Right -> this.value + } } /** @@ -1332,8 +1351,7 @@ public inline infix fun Either.getOrElse(default: (A) -> B): B { * * */ -@Suppress("NOTHING_TO_INLINE") -public inline fun Either.merge(): A = +public fun Either.merge(): A = fold(::identity, ::identity) public fun A.left(): Either = Left(this) @@ -1349,7 +1367,7 @@ public operator fun , B : Comparable> Either.compareT /** * Combine two [Either] values. * If both are [Right] then combine both [B] values using [combineRight] or if both are [Left] then combine both [A] values using [combineLeft], - * otherwise it returns the `this` or fallbacks to [other] in case `this` is [Left]. + * otherwise return the sole [Left] value (either `this` or [other]). */ public fun Either.combine(other: Either, combineLeft: (A, A) -> A, combineRight: (B, B) -> B): Either = when (val one = this) { diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Ior.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Ior.kt index df337ef365e..8357e647716 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Ior.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Ior.kt @@ -404,16 +404,36 @@ public inline fun Ior.flatMap(combine: (A, A) -> A, f: (B) -> Io when (this) { is Left -> this is Right -> f(value) - is Both -> f(rightValue).fold( - { a -> Left(combine(leftValue, a)) }, - { d -> Both(leftValue, d) }, - { ll, rr -> Both(combine(leftValue, ll), rr) } - ) + is Both -> when (val r = f(rightValue)) { + is Left -> Left(combine(this.leftValue, r.value)) + is Right -> Both(this.leftValue, r.value) + is Both -> Both(combine(this.leftValue, r.leftValue), r.rightValue) + } + } + +/** + * Binds the given function across [Ior.Left]. + * + * @param f The function to bind across [Ior.Left]. + */ +public inline fun Ior.handleErrorWith(combine: (B, B) -> B, f: (A) -> Ior): Ior = + when (this) { + is Left -> f(value) + is Right -> this + is Both -> when (val l = f(leftValue)) { + is Left -> Both(l.value, this.rightValue) + is Right -> Right(combine(this.rightValue, l.value)) + is Both -> Both(l.leftValue, combine(this.rightValue, l.rightValue)) + } } public inline fun Ior.getOrElse(default: (A) -> B): B { contract { callsInPlace(default, InvocationKind.AT_MOST_ONCE) } - return fold(default, ::identity) { _, b -> b } + return when (this) { + is Left -> default(this.value) + is Right -> this.value + is Both -> this.rightValue + } } diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Iterable.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Iterable.kt index 7afb7eab552..7088d7b04b4 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Iterable.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Iterable.kt @@ -13,7 +13,6 @@ import arrow.core.raise.RaiseAccumulate import arrow.core.raise.mapOrAccumulate import kotlin.experimental.ExperimentalTypeInference import kotlin.jvm.JvmName -import kotlin.collections.unzip as stdlibUnzip public inline fun Iterable.zip( c: Iterable, @@ -589,53 +588,6 @@ public inline fun Iterable.align(b: Iterable, fa: (Ior) -> public fun Iterable.align(b: Iterable): List> = this.align(b, ::identity) -/** - * unzips the structure holding the resulting elements in an `Pair` - * - * ```kotlin - * import arrow.core.* - * import io.kotest.matchers.shouldBe - * - * fun test() { - * listOf("A" to 1, "B" to 2) - * .unzip() shouldBe Pair(listOf("A", "B"), listOf(1, 2)) - * } - * ``` - * - * - */ -@Deprecated( - "Unzip is being deprecated in favor of the standard library version.\n$NicheAPI", - ReplaceWith("unzip()", "kotlin.collections.unzip") -) -public fun Iterable>.unzip(): Pair, List> = - stdlibUnzip() - -/** - * after applying the given function unzip the resulting structure into its elements. - * - * ```kotlin - * import arrow.core.* - * import io.kotest.matchers.shouldBe - * - * fun test() { - * listOf("A:1", "B:2", "C:3").unzip { e -> - * e.split(":").let { - * it.first() to it.last() - * } - * } shouldBe Pair(listOf("A", "B", "C"), listOf("1", "2", "3")) - * } - * ``` - * - * - */ -@Deprecated( - "Unzip is being deprecated in favor of the standard library version.\n$NicheAPI", - ReplaceWith("map(fc).unzip()", "kotlin.collections.unzip") -) -public inline fun Iterable.unzip(fc: (C) -> Pair): Pair, List> = - map(fc).stdlibUnzip() - /** * splits a union into its component parts. * @@ -652,7 +604,7 @@ public inline fun Iterable.unzip(fc: (C) -> Pair): Pair + * * */ public fun Iterable>.separateIor(): Pair, List> = @@ -687,7 +639,7 @@ public fun Iterable>.unalign(): Pair, List> = * } shouldBe Pair(listOf(1, null, 3, null), listOf(null, 2, null, 4)) * } * ``` - * + * * */ public inline fun Iterable.unalign(fa: (C) -> Ior): Pair, List> = @@ -814,7 +766,7 @@ private tailrec fun Iterator.skip(count: Int): Iterator = * listOf("A", "B", "C").split() shouldBe Pair(listOf("B", "C"), "A") * } * ``` - * + * * */ public fun Iterable.split(): Pair, A>? = @@ -841,7 +793,7 @@ public fun Iterable.tail(): List = * list1.interleave(list2) shouldBe listOf(1, 4, 2, 5, 3, 6, 7, 8) * } * ``` - * + * * */ public fun Iterable.interleave(other: Iterable): List = @@ -863,7 +815,7 @@ public fun Iterable.interleave(other: Iterable): List = * res shouldBe ints.interleave(ints.flatMap { listOf(it + 1, it + 2) }) * } * ``` - * + * */ public fun Iterable.unweave(ffa: (A) -> Iterable): List = split()?.let { (fa, a) -> @@ -882,7 +834,7 @@ public fun Iterable.unweave(ffa: (A) -> Iterable): List = * .separateEither() shouldBe Pair(listOf("A", "C"), listOf(2, 4)) * } * ``` - * + * * */ public fun Iterable>.separateEither(): Pair, List> = @@ -904,7 +856,7 @@ public fun Iterable>.separateEither(): Pair, List * } shouldBe Pair(listOf("odd: 1", "odd: 3"), listOf("even: 2", "even: 4")) * } * ``` - * + * * */ public inline fun Iterable.separateEither(f: (T) -> Either): Pair, List> { diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/NonEmptySet.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/NonEmptySet.kt index 2f50cbfd989..4e7e47a2ec4 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/NonEmptySet.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/NonEmptySet.kt @@ -1,5 +1,9 @@ +@file:OptIn(ExperimentalTypeInference::class) + package arrow.core +import arrow.core.raise.RaiseAccumulate +import kotlin.experimental.ExperimentalTypeInference import kotlin.jvm.JvmInline @JvmInline @@ -7,7 +11,7 @@ public value class NonEmptySet private constructor( @PublishedApi internal val elements: Set ) : Set by elements, NonEmptyCollection { - public constructor(first: A, rest: Set) : this(setOf(first) + rest) + public constructor(first: A, rest: Iterable) : this(setOf(first) + rest) public override operator fun plus(elements: Iterable<@UnsafeVariance A>): NonEmptySet = NonEmptySet(this.elements + elements) @@ -43,20 +47,31 @@ public value class NonEmptySet private constructor( public override fun flatMap(transform: (A) -> NonEmptyCollection): NonEmptyList = NonEmptyList(elements.flatMap(transform)) - public override fun mapIndexed(transform: (index:Int, A) -> B): NonEmptyList = + public override fun mapIndexed(transform: (index: Int, A) -> B): NonEmptyList = NonEmptyList(elements.mapIndexed(transform)) override fun zip(other: NonEmptyCollection): NonEmptyList> = NonEmptyList(elements.zip(other)) } +public inline fun NonEmptySet.mapOrAccumulate( + combine: (E, E) -> E, + @BuilderInference transform: RaiseAccumulate.(A) -> B +): Either> = + elements.mapOrAccumulate(combine, transform).map { requireNotNull(it.toNonEmptySetOrNull()) } + +public inline fun NonEmptySet.mapOrAccumulate( + @BuilderInference transform: RaiseAccumulate.(A) -> B +): Either, NonEmptySet> = + elements.mapOrAccumulate(transform).map { requireNotNull(it.toNonEmptySetOrNull()) } + public fun nonEmptySetOf(first: A, vararg rest: A): NonEmptySet = - NonEmptySet(first, rest.toSet()) + NonEmptySet(first, rest.asIterable()) public fun Iterable.toNonEmptySetOrNull(): NonEmptySet? { val iter = iterator() if (!iter.hasNext()) return null - return NonEmptySet(iter.next(), Iterable { iter }.toSet()) + return NonEmptySet(iter.next(), Iterable { iter }) } public fun Iterable.toNonEmptySetOrNone(): Option> = diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Option.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Option.kt index d445d134165..70b88526a0f 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Option.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/Option.kt @@ -5,6 +5,7 @@ import arrow.core.raise.EagerEffect import arrow.core.raise.Effect import arrow.core.raise.SingletonRaise import arrow.core.raise.option +import arrow.core.raise.recover import kotlin.contracts.ExperimentalContracts import kotlin.contracts.InvocationKind import kotlin.contracts.contract @@ -309,23 +310,19 @@ public sealed class Option { /** * Ignores exceptions and returns None if one is thrown */ - public inline fun catch(f: () -> A): Option { + public inline fun catch(f: SingletonRaise.() -> A): Option { contract { callsInPlace(f, InvocationKind.AT_MOST_ONCE) } return catch({ None }, f) } @JvmStatic @JvmName("tryCatch") - public inline fun catch(recover: (Throwable) -> Option, f: () -> A): Option { + public inline fun catch(recover: (Throwable) -> Option, f: SingletonRaise.() -> A): Option { contract { callsInPlace(f, InvocationKind.AT_MOST_ONCE) callsInPlace(recover, InvocationKind.AT_MOST_ONCE) } - return try { - Some(f()) - } catch (t: Throwable) { - recover(t.nonFatalOrThrow()) - } + return recover({ f(SingletonRaise(this)).some() }, { None }, recover) } } diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/map.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/map.kt index 2ce773040f0..a69da507e8c 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/map.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/map.kt @@ -5,6 +5,7 @@ package arrow.core import arrow.core.raise.either import arrow.core.raise.mapOrAccumulate import arrow.core.raise.RaiseAccumulate +import arrow.core.raise.mapValuesOrAccumulate import kotlin.experimental.ExperimentalTypeInference /** @@ -244,9 +245,9 @@ public inline fun Map.zip( * only keeping the [Map.Entry] of the transformed map that match the input [Map.Entry]. */ @Suppress("UNCHECKED_CAST") -public fun Map.flatMap(f: (Map.Entry) -> Map): Map = +public fun Map.flatMapValues(f: (Map.Entry) -> Map): Map = buildMap { - this@flatMap.forEach { entry -> + this@flatMapValues.forEach { entry -> val nestedMap = f(entry) if (nestedMap.containsKey(entry.key)) { put(entry.key, nestedMap[entry.key] as B) @@ -254,22 +255,39 @@ public fun Map.flatMap(f: (Map.Entry) -> Map): Map Map.mapOrAccumulate( combine: (E, E) -> E, @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B +): Either> = mapValuesOrAccumulate(combine, transform) + +@Deprecated( + message = "Deprecated to allow for future alignment with stdlib Map#map returning List", + replaceWith = ReplaceWith("mapValuesOrAccumulate(transform)"), +) +public inline fun Map.mapOrAccumulate( + @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B +): Either, Map> = mapValuesOrAccumulate(transform) + +public inline fun Map.mapValuesOrAccumulate( + combine: (E, E) -> E, + @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B ): Either> = either { - mapOrAccumulate(this@mapOrAccumulate, combine, transform) + mapValuesOrAccumulate(this@mapValuesOrAccumulate, combine, transform) } -public inline fun Map.mapOrAccumulate( +public inline fun Map.mapValuesOrAccumulate( @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B ): Either, Map> = either { - mapOrAccumulate(this@mapOrAccumulate, transform) + mapValuesOrAccumulate(this@mapValuesOrAccumulate, transform) } -public fun Map.mapNotNull(transform: (Map.Entry) -> B?): Map = +public inline fun Map.mapValuesNotNull(transform: (Map.Entry) -> B?): Map = buildMap { - this@mapNotNull.forEach { entry -> + this@mapValuesNotNull.forEach { entry -> transform(entry)?.let { put(entry.key, it) } } } diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/predef.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/predef.kt index c70186c6124..7b8de2117c9 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/predef.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/predef.kt @@ -10,7 +10,7 @@ public inline fun identity(a: A): A = a * always prefer to use `Option` in actual business code when needed in generic code. */ public object EmptyValue { - @Suppress("UNCHECKED_CAST") + @Suppress("UNCHECKED_CAST", "NOTHING_TO_INLINE") public inline fun unbox(value: Any?): A = fold(value, { null as A }, ::identity) diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Builders.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Builders.kt index 1cac6b4d3cd..e72c48aa2d4 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Builders.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Builders.kt @@ -229,13 +229,13 @@ public class SingletonRaise(private val raise: Raise): Raise { @RaiseDSL public inline fun recover( block: SingletonRaise.() -> A, - recover: () -> A, + raise: () -> A, ): A { contract { callsInPlace(block, InvocationKind.AT_MOST_ONCE) - callsInPlace(recover, InvocationKind.AT_MOST_ONCE) + callsInPlace(raise, InvocationKind.AT_MOST_ONCE) } - return singleton(recover) { ignoreErrors(block) } + return recover<_, A>({ block(SingletonRaise(this)) }) { raise() } } /** @@ -287,7 +287,7 @@ public class ResultRaise(private val raise: Raise) : Raise recover: (Throwable) -> A, ): A = result(block).fold( onSuccess = { it }, - onFailure = { recover(it) } + onFailure = { recover(it) } ) } @@ -304,6 +304,13 @@ public class IorRaise @PublishedApi internal constructor( @PublishedApi internal fun combine(e: Error): Error = state.updateAndGet { EmptyValue.combine(it, e, combineError) } as Error + @RaiseDSL + public fun accumulate(value: Error): Unit = Ior.Both(value, Unit).bind() + + @RaiseDSL + public fun Either.getOrAccumulate(recover: (Error) -> A): A = + fold(ifLeft = { Ior.Both(it, recover(it)) }, ifRight = { Ior.Right(it) }).bind() + @RaiseDSL @JvmName("bindAllIor") public fun Iterable>.bindAll(): List = diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Raise.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Raise.kt index 429d2ddd12d..05185d97085 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Raise.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/Raise.kt @@ -660,6 +660,7 @@ public inline fun Raise.withError( ): A { contract { callsInPlace(transform, AT_MOST_ONCE) + callsInPlace(block, AT_MOST_ONCE) } return recover(block) { raise(transform(it)) } } diff --git a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt index e5157fe4a4a..95c14cf00cc 100644 --- a/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt +++ b/arrow-libs/core/arrow-core/src/commonMain/kotlin/arrow/core/raise/RaiseAccumulate.kt @@ -5,13 +5,9 @@ package arrow.core.raise import arrow.core.Either import arrow.core.EitherNel -import arrow.core.EmptyValue -import arrow.core.EmptyValue.combine -import arrow.core.EmptyValue.unbox import arrow.core.NonEmptyList import arrow.core.NonEmptySet import arrow.core.collectionSizeOrDefault -import arrow.core.nonEmptyListOf import arrow.core.toNonEmptyListOrNull import arrow.core.toNonEmptySetOrNull import kotlin.contracts.ExperimentalContracts @@ -22,6 +18,7 @@ import kotlin.experimental.ExperimentalTypeInference import kotlin.jvm.JvmMultifileClass import kotlin.jvm.JvmName import kotlin.jvm.JvmSynthetic +import kotlin.reflect.KProperty /** * Accumulate the errors from running both [action1] and [action2] using the given [combine] function. @@ -255,18 +252,9 @@ public inline fun Raise.zipOrAccumu block: (A, B, C, D, E, F, G, H, I) -> J ): J { contract { callsInPlace(block, AT_MOST_ONCE) } - var error: Any? = EmptyValue - val a = recover({ action1(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val b = recover({ action2(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val c = recover({ action3(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val d = recover({ action4(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val e = recover({ action5(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val f = recover({ action6(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val g = recover({ action7(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val h = recover({ action8(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - val i = recover({ action9(RaiseAccumulate(this)) }) { error = combine(error, it.reduce(combine), combine); EmptyValue } - return if (error !== EmptyValue) raise(unbox(error)) - else block(unbox(a), unbox(b), unbox(c), unbox(d), unbox(e), unbox(f), unbox(g), unbox(h), unbox(i)) + return withError({ it.reduce(combine) }) { + zipOrAccumulate(action1, action2, action3, action4, action5, action6, action7, action8, action9, block) + } } /** @@ -472,7 +460,7 @@ public inline fun Raise>. * [error accumulation](https://arrow-kt.io/learn/typed-errors/working-with-typed-errors/#accumulating-errors) * and how to use it in [validation](https://arrow-kt.io/learn/typed-errors/validation/). */ -@RaiseDSL +@RaiseDSL @OptIn(ExperimentalRaiseAccumulateApi::class) public inline fun Raise>.zipOrAccumulate( @BuilderInference action1: RaiseAccumulate.() -> A, @BuilderInference action2: RaiseAccumulate.() -> B, @@ -486,18 +474,18 @@ public inline fun Raise J ): J { contract { callsInPlace(block, AT_MOST_ONCE) } - val error: MutableList = mutableListOf() - val a = recover({ action1(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val b = recover({ action2(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val c = recover({ action3(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val d = recover({ action4(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val e = recover({ action5(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val f = recover({ action6(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val g = recover({ action7(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val h = recover({ action8(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - val i = recover({ action9(RaiseAccumulate(this)) }) { error.addAll(it); EmptyValue } - error.toNonEmptyListOrNull()?.let { raise(it) } - return block(unbox(a), unbox(b), unbox(c), unbox(d), unbox(e), unbox(f), unbox(g), unbox(h), unbox(i)) + return accumulate { + val a by accumulating(action1) + val b by accumulating(action2) + val c by accumulating(action3) + val d by accumulating(action4) + val e by accumulating(action5) + val f by accumulating(action6) + val g by accumulating(action7) + val h by accumulating(action8) + val i by accumulating(action9) + block(a, b, c, d, e, f, g, h, i) + } } @RaiseDSL @@ -526,16 +514,8 @@ internal inline fun Raise.forEachAccumulatingImpl( iterator: Iterator, combine: (Error, Error) -> Error, @BuilderInference block: RaiseAccumulate.(item: A, hasErrors: Boolean) -> Unit -) { - var error: Any? = EmptyValue - for (item in iterator) { - recover({ - block(RaiseAccumulate(this), item, error != EmptyValue) - }) { errors -> - error = combine(error, errors.reduce(combine), combine) - } - } - return if (error === EmptyValue) Unit else raise(unbox(error)) +): Unit = withError({ it.reduce(combine) }) { + forEachAccumulatingImpl(iterator, block) } @RaiseDSL @@ -560,20 +540,14 @@ public inline fun Raise>.forEachAccumulating( * Allows to change what to do once the first error is raised. * Used to provide more performant [mapOrAccumulate]. */ -@PublishedApi @JvmSynthetic +@PublishedApi @JvmSynthetic @OptIn(ExperimentalRaiseAccumulateApi::class) internal inline fun Raise>.forEachAccumulatingImpl( iterator: Iterator, @BuilderInference block: RaiseAccumulate.(item: A, hasErrors: Boolean) -> Unit -) { - val error: MutableList = mutableListOf() - for (item in iterator) { - recover({ - block(RaiseAccumulate(this), item, error.isNotEmpty()) - }) { - error.addAll(it) - } +): Unit = accumulate { + iterator.forEach { + accumulating { block(it, hasErrors()) } } - error.toNonEmptyListOrNull()?.let(::raise) } /** @@ -677,10 +651,31 @@ public inline fun Raise>.mapOrAccumulate( }.toNonEmptySetOrNull()!! @RaiseDSL +@Deprecated( + message = "Deprecated to allow for future alignment with stdlib Map#map returning List", + replaceWith = ReplaceWith("mapValuesOrAccumulate(map, combine, transform)"), +) public inline fun Raise.mapOrAccumulate( map: Map, combine: (Error, Error) -> Error, @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B +): Map = mapValuesOrAccumulate(map, combine, transform) + +@RaiseDSL +@Deprecated( + message = "Deprecated to allow for future alignment with stdlib Map#map returning List", + replaceWith = ReplaceWith("mapValuesOrAccumulate(map, transform)") +) +public inline fun Raise>.mapOrAccumulate( + map: Map, + @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B +): Map = mapValuesOrAccumulate(map, transform) + +@RaiseDSL +public inline fun Raise.mapValuesOrAccumulate( + map: Map, + combine: (Error, Error) -> Error, + @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B ): Map = buildMap(map.size) { forEachAccumulatingImpl(map.entries.iterator(), combine) { item, hasErrors -> transform(item).also { if (!hasErrors) put(item.key, it) } @@ -688,7 +683,7 @@ public inline fun Raise.mapOrAccumulate( } @RaiseDSL -public inline fun Raise>.mapOrAccumulate( +public inline fun Raise>.mapValuesOrAccumulate( map: Map, @BuilderInference transform: RaiseAccumulate.(Map.Entry) -> B ): Map = buildMap(map.size) { @@ -697,6 +692,31 @@ public inline fun Raise>.mapOrAccumulate( } } +@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "This API is work-in-progress and is subject to change.") +@Retention(AnnotationRetention.BINARY) +@Target(AnnotationTarget.FUNCTION) +public annotation class ExperimentalRaiseAccumulateApi + +@ExperimentalRaiseAccumulateApi +public inline fun Raise>.accumulate( + block: RaiseAccumulate.() -> A +): A { + contract { callsInPlace(block, EXACTLY_ONCE) } + val nel = RaiseAccumulate(this) + val result = block(nel) + if (nel.hasErrors()) nel.raiseErrors() + return result +} + +@ExperimentalRaiseAccumulateApi +public inline fun accumulate( + raise: (Raise>.() -> A) -> R, + crossinline block: RaiseAccumulate.() -> A +): R { + contract { callsInPlace(block, AT_MOST_ONCE) } + return raise { accumulate(block) } +} + /** * Receiver type belonging to [mapOrAccumulate]. * Allows binding both [Either] and [EitherNel] values for [Either.Left] types of [Error]. @@ -706,12 +726,14 @@ public open class RaiseAccumulate( public val raise: Raise> ) : Raise { + internal val errors: MutableList = mutableListOf() + @RaiseDSL public override fun raise(r: Error): Nothing = - raise.raise(nonEmptyListOf(r)) + raise.raise((errors + r).toNonEmptyListOrNull()!!) public override fun Map>.bindAll(): Map = - raise.mapOrAccumulate(this) { it.value.bind() } + raise.mapValuesOrAccumulate(this) { it.value.bind() } @RaiseDSL public inline fun Iterable.mapOrAccumulate( @@ -728,6 +750,16 @@ public open class RaiseAccumulate( transform: RaiseAccumulate.(A) -> B ): NonEmptySet = raise.mapOrAccumulate(this, transform) + @RaiseDSL + public inline fun Map.mapOrAccumulate( + transform: RaiseAccumulate.(Map.Entry) -> B + ): List = raise.mapOrAccumulate(entries, transform) + + @RaiseDSL + public inline fun Map.mapValuesOrAccumulate( + transform: RaiseAccumulate.(Map.Entry) -> B + ): Map = raise.mapValuesOrAccumulate(this, transform) + @RaiseDSL @JvmName("_mapOrAccumulate") public inline fun mapOrAccumulate( @@ -772,4 +804,52 @@ public open class RaiseAccumulate( } return block(raise) } + + @PublishedApi internal fun addErrors(newErrors: Iterable) { errors.addAll(newErrors) } + @PublishedApi internal fun hasErrors(): Boolean = errors.isNotEmpty() + @PublishedApi internal fun raiseErrors(): Nothing = raise.raise(errors.toNonEmptyListOrNull()!!) + + @ExperimentalRaiseAccumulateApi + public fun Either.bindOrAccumulate(): Value = + accumulating { this@bindOrAccumulate.bind() } + + @ExperimentalRaiseAccumulateApi + public fun Iterable>.bindAllOrAccumulate(): Value> = + accumulating { this@bindAllOrAccumulate.bindAll() } + + @ExperimentalRaiseAccumulateApi + public fun EitherNel.bindNelOrAccumulate(): Value = + accumulating { this@bindNelOrAccumulate.bindNel() } + + @ExperimentalRaiseAccumulateApi + public fun ensureOrAccumulate(condition: Boolean, raise: () -> Error) { + accumulating { ensure(condition, raise) } + } + + @ExperimentalRaiseAccumulateApi + public fun ensureNotNullOrAccumulate(value: B?, raise: () -> Error) { + contract { returns() implies (value != null) } + ensureOrAccumulate(value != null, raise) + } + + @ExperimentalRaiseAccumulateApi + public inline fun accumulating(block: RaiseAccumulate.() -> A): Value = + recover(inner@{ + Ok(block(RaiseAccumulate(this@inner))) + }) { + addErrors(it) + Error() + } + + public abstract inner class Value { + public abstract operator fun getValue(value: Nothing?, property: KProperty<*>): A + } + @PublishedApi internal inner class Error: Value() { + // WARNING: do not turn this into a property with initializer!! + // 'raiseErrors' is then executed eagerly, and leads to wrong behavior!! + override fun getValue(value: Nothing?, property: KProperty<*>): Nothing = raiseErrors() + } + @PublishedApi internal inner class Ok(private val result: A): Value() { + override fun getValue(value: Nothing?, property: KProperty<*>): A = result + } } diff --git a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/IterableTest.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/IterableTest.kt index 5f449328f2f..6daea3e7570 100644 --- a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/IterableTest.kt +++ b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/IterableTest.kt @@ -1,5 +1,3 @@ -@file:Suppress("DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPE") - package arrow.core import arrow.core.test.either @@ -12,7 +10,6 @@ import io.kotest.matchers.shouldBe import io.kotest.property.arbitrary.boolean import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.list -import io.kotest.property.arbitrary.pair import io.kotest.property.arbitrary.string import io.kotest.property.checkAll import kotlinx.coroutines.test.runTest @@ -67,7 +64,7 @@ class IterableTest { } @Test fun mapOrAccumulateString() = runTest { - listOf(1, 2, 3).mapOrAccumulate(String::plus) { i -> + listOf(1, 2, 3).mapOrAccumulate(String::plus) { raise("fail") } shouldBe Either.Left("failfailfail") } @@ -308,23 +305,6 @@ class IterableTest { } } - @Test fun unzipInverseOfZip() = runTest { - checkAll(Arb.list(Arb.int())) { xs -> - - val zipped = xs.zip(xs) - val ls = zipped.unzip() - val rs = xs to xs - - ls shouldBe rs - } - } - - @Test fun unzipOk() = runTest { - checkAll(Arb.list(Arb.pair(Arb.int(), Arb.int()))) { xs -> - xs.unzip { it } shouldBe xs.unzip() - } - } - @Test fun unalignInverseOfAlign() = runTest { fun Pair, List>.fix(): Pair, List> = first.mapNotNull { it } to second.mapNotNull { it } diff --git a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/MapKTest.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/MapKTest.kt index e6ba1a9d7e1..3f2f2dd2c44 100644 --- a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/MapKTest.kt +++ b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/MapKTest.kt @@ -409,11 +409,11 @@ class MapKTest { } } - @Test fun mapNotNullOk() = runTest { + @Test fun mapValuesNotNullOk() = runTest { checkAll( Arb.map(Arb.int(), Arb.boolean(), maxSize = 30) ) { xs -> - val rs = xs.mapNotNull { (_, pred) -> if(pred) true else null } + val rs = xs.mapValuesNotNull { (_, pred) -> if(pred) true else null } xs.forAll { if (it.value) @@ -678,11 +678,11 @@ class MapKTest { } } - @Test fun flatMapOk() = runTest { + @Test fun flatMapValuesOk() = runTest { checkAll( Arb.map2(Arb.int(), Arb.int(), Arb.int()) ) { (a, b) -> - val result = a.flatMap { b } + val result = a.flatMapValues { b } val expected = a.filter { (k, _) -> b.containsKey(k) } .map { (k, _) -> Pair(k, b[k]!!) } .toMap() @@ -690,8 +690,8 @@ class MapKTest { } } - @Test fun mapOrAccumulateEmpty() = runTest { - val result: Either, Map> = emptyMap().mapOrAccumulate { + @Test fun mapValuesOrAccumulateEmpty() = runTest { + val result: Either, Map> = emptyMap().mapValuesOrAccumulate { it.value.toString() } @@ -699,12 +699,12 @@ class MapKTest { .value.shouldBeEmpty() } - @Test fun mapOrAccumulateMaps() = runTest { + @Test fun mapValuesOrAccumulateMaps() = runTest { checkAll( Arb.map(Arb.int(), Arb.int(), maxSize = 30) ) { xs -> - val result: Either, Map> = xs.mapOrAccumulate { + val result: Either, Map> = xs.mapValuesOrAccumulate { it.value.toString() } @@ -714,22 +714,22 @@ class MapKTest { } } - @Test fun mapOrAccumulateAccumulates() = runTest { + @Test fun mapValuesOrAccumulateAccumulates() = runTest { checkAll( Arb.map(Arb.int(), Arb.int(), minSize = 1, maxSize = 30) ) { xs -> - xs.mapOrAccumulate { - raise(it.value) - }.shouldBeInstanceOf>>() + xs.mapValuesOrAccumulate { + raise(it.value) + }.shouldBeInstanceOf>>() .value.all.shouldContainAll(xs.values) } } - @Test fun flatMapNull() = runTest { + @Test fun flatMapValuesNull() = runTest { checkAll( Arb.map2(Arb.int(), Arb.int(), Arb.int().orNull()) ) { (mapA, mapB) -> - val result = mapA.flatMap { mapB } + val result = mapA.flatMapValues { mapB } val expected = mapA.filter { (k, _) -> mapB.containsKey(k) } .map { (k, _) -> Pair(k, mapB[k]) } .toMap() diff --git a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/NonEmptySetTest.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/NonEmptySetTest.kt index 8d04c5990a1..32ff0ed45e2 100644 --- a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/NonEmptySetTest.kt +++ b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/NonEmptySetTest.kt @@ -1,6 +1,7 @@ package arrow.core import arrow.core.test.nonEmptySet +import arrow.core.test.stackSafeIteration import io.kotest.assertions.withClue import io.kotest.matchers.booleans.shouldBeTrue import io.kotest.matchers.nulls.shouldBeNull @@ -8,6 +9,7 @@ import io.kotest.matchers.nulls.shouldNotBeNull import io.kotest.matchers.shouldBe import io.kotest.property.Arb import io.kotest.property.arbitrary.int +import io.kotest.property.arbitrary.negativeInt import io.kotest.property.arbitrary.next import io.kotest.property.arbitrary.orNull import io.kotest.property.checkAll @@ -75,5 +77,41 @@ class NonEmptySetTest { } } } -} + @Test + fun mapOrAccumulateIsStackSafe() = runTest { + val acc = mutableSetOf() + val res = (0..stackSafeIteration()) + .toNonEmptySetOrNull()!! + .mapOrAccumulate(String::plus) { + acc.add(it) + it + } + res shouldBe Either.Right(acc) + } + + @Test + fun mapOrAccumulateAccumulatesErrors() = runTest { + checkAll(Arb.nonEmptySet(Arb.int(), range = 0 .. 20)) { nes -> + val res = nes.mapOrAccumulate { i -> + if (i % 2 == 0) i else raise(i) + } + + val expected = nes.filterNot { it % 2 == 0 } + .toNonEmptyListOrNull()?.left() ?: nes.filter { it % 2 == 0 }.toNonEmptySetOrNull()!!.right() + + res shouldBe expected + } + } + + @Test + fun mapOrAccumulateAccumulatesErrorsWithCombineFunction() = runTest { + checkAll(Arb.nonEmptySet(Arb.negativeInt(), range = 0 .. 20)) { nes -> + val res = nes.mapOrAccumulate(String::plus) { i -> + if (i > 0) i else raise("Negative") + } + + res shouldBe nes.map { "Negative" }.joinToString("").left() + } + } +} diff --git a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/SequenceKTest.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/SequenceKTest.kt index ec58ddef409..417e743e533 100644 --- a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/SequenceKTest.kt +++ b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/SequenceKTest.kt @@ -1,5 +1,3 @@ -@file:Suppress("DUPLICATE_PARAMETER_NAME_IN_FUNCTION_TYPE") - package arrow.core import arrow.core.test.laws.MonoidLaws diff --git a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/EffectSpec.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/EffectSpec.kt index 0cf35f71b66..f92abec4ac2 100644 --- a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/EffectSpec.kt +++ b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/EffectSpec.kt @@ -39,6 +39,7 @@ import kotlinx.coroutines.withContext @Suppress("UNREACHABLE_CODE") class EffectSpec { + @OptIn(DelicateRaiseApi::class) @Test fun tryCatchCanRecoverFromRaise() = runTest { checkAll(Arb.int().suspend(), Arb.string().suspend()) { i, s -> effect { @@ -65,6 +66,7 @@ class EffectSpec { } } + @OptIn(DelicateRaiseApi::class) @Test fun tryCatchFirstRaiseIsIgnoredAndSecondIsReturned() = runTest { checkAll(Arb.int().suspend(), Arb.string().suspend(), Arb.string().suspend()) { i, s, s2 -> effect { diff --git a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/IorSpec.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/IorSpec.kt index f53dd0280af..3b219fba2e5 100644 --- a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/IorSpec.kt +++ b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/IorSpec.kt @@ -2,6 +2,8 @@ package arrow.core.raise import arrow.core.Either import arrow.core.Ior +import arrow.core.left +import arrow.core.right import arrow.core.test.nonEmptyList import arrow.core.toIorNel import io.kotest.assertions.throwables.shouldThrow @@ -154,4 +156,25 @@ class IorSpec { one + two } shouldBe Ior.Both(listOf("ErrorOne", "ErrorTwo"), 3) } + + @Test fun accumulateErrorManually() { + ior(String::plus) { + accumulate("nonfatal") + "output" + } shouldBe Ior.Both("nonfatal", "output") + } + + @Test fun getOrAccumulateRightEither() { + ior(String::plus) { + val result = "success".right().getOrAccumulate { "failed" } + "output: $result" + } shouldBe Ior.Right("output: success") + } + + @Test fun getOrAccumulateLeftEither() { + ior(String::plus) { + val result = "nonfatal".left().getOrAccumulate { "failed" } + "output: $result" + } shouldBe Ior.Both("nonfatal", "output: failed") + } } diff --git a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/RaiseAccumulateSpec.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/RaiseAccumulateSpec.kt index c8f68853a72..0de771fb4f6 100644 --- a/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/RaiseAccumulateSpec.kt +++ b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/RaiseAccumulateSpec.kt @@ -1,8 +1,10 @@ +@file:OptIn(ExperimentalRaiseAccumulateApi::class) package arrow.core.raise import arrow.core.NonEmptyList import arrow.core.left import arrow.core.nonEmptyListOf +import arrow.core.right import io.kotest.matchers.shouldBe import kotlin.test.Test import kotlinx.coroutines.test.runTest @@ -16,4 +18,67 @@ class RaiseAccumulateSpec { ) { _, _ -> 1 } } shouldBe nonEmptyListOf("false", "1: IsFalse", "2: IsFalse").left() } + + @Test fun raiseAccumulateTakesPrecedenceOverExtensionFunctionNel() { + accumulate(::either) { + val x by accumulating { ensure(false) { "false" } } + val y by accumulating { mapOrAccumulate(1..2) { ensure(false) { "$it: IsFalse" } } } + 1 + } shouldBe nonEmptyListOf("false", "1: IsFalse", "2: IsFalse").left() + } + + @Test fun accumulateWithBindAndMap() { + accumulate(::either) { + (1 .. 2).map { "$it: IsFalse".left() }.map { + it.bindOrAccumulate() + } + } shouldBe nonEmptyListOf("1: IsFalse", "2: IsFalse").left() + } + + @Test fun raiseAccumulatingTwoFailures() { + accumulate(::either) { + val x by accumulating { + raise("hello") + 1 + } + val y by accumulating { + raise("bye") + 2 + } + x + y + } shouldBe nonEmptyListOf("hello", "bye").left() + } + + @Test fun raiseAccumulatingOneFailure() { + accumulate(::either) { + val x by accumulating { 1 } + val y by accumulating { raise("bye") ; 2 } + x + y + } shouldBe nonEmptyListOf("bye").left() + } + + @Test fun raiseAccumulatingOneFailureEither() { + accumulate(::either) { + val x: Int by 1.right().bindOrAccumulate() + val y: Int by "bye".left().bindOrAccumulate() + x + y + } shouldBe nonEmptyListOf("bye").left() + } + + @Test fun raiseAccumulatingNoFailure() { + accumulate(::either) { + val x by accumulating { 1 } + val y by accumulating { 2 } + x + y + } shouldBe (1 + 2).right() + } + + @Test fun raiseAccumulatingIntermediateRaise() { + accumulate(::either) { + val x by accumulating { raise("hello") ; 1 } + raise("hi") + val y by accumulating { 2 } + x + y + } shouldBe nonEmptyListOf("hello", "hi").left() + } } diff --git a/arrow-libs/core/arrow-core/src/jvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt b/arrow-libs/core/arrow-core/src/jvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt index 6b09c1ec66d..40215c964e1 100644 --- a/arrow-libs/core/arrow-core/src/jvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt +++ b/arrow-libs/core/arrow-core/src/jvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt @@ -6,6 +6,7 @@ import kotlin.coroutines.cancellation.CancellationException * Inspired by KotlinX Coroutines: * https://github.com/Kotlin/kotlinx.coroutines/blob/3788889ddfd2bcfedbff1bbca10ee56039e024a2/kotlinx-coroutines-core/jvm/src/Exceptions.kt#L29 */ +@OptIn(DelicateRaiseApi::class) @Suppress( "EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING", "SEALED_INHERITOR_IN_DIFFERENT_MODULE" diff --git a/arrow-libs/core/arrow-core/src/jvmTest/java/arrow/core/DeadlockTest.kt b/arrow-libs/core/arrow-core/src/jvmTest/java/arrow/core/DeadlockTest.kt index f35bc066d08..673600ed6f7 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/java/arrow/core/DeadlockTest.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/java/arrow/core/DeadlockTest.kt @@ -1,5 +1,6 @@ package arrow.core +import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.joinAll import kotlinx.coroutines.launch @@ -7,6 +8,7 @@ import kotlinx.coroutines.runBlocking import kotlinx.coroutines.test.runTest import kotlin.test.Test +@OptIn(DelicateCoroutinesApi::class) class DeadlockTest { @Test fun classLoaderShouldNotDeadlockEither() = runTest { diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-11.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-11.kt index fc8c31b148e..8d944737e9f 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-11.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-11.kt @@ -5,6 +5,9 @@ import arrow.core.* import io.kotest.matchers.shouldBe fun test() { - listOf("A" to 1, "B" to 2) - .unzip() shouldBe Pair(listOf("A", "B"), listOf(1, 2)) + listOf( + Pair("A", 1).bothIor(), + Pair("B", 2).bothIor(), + "C".leftIor() + ).separateIor() shouldBe Pair(listOf("A", "B", "C"), listOf(1, 2)) } diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-12.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-12.kt index 0fbcba62844..ea7c7bae73a 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-12.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-12.kt @@ -5,9 +5,8 @@ import arrow.core.* import io.kotest.matchers.shouldBe fun test() { - listOf("A:1", "B:2", "C:3").unzip { e -> - e.split(":").let { - it.first() to it.last() - } - } shouldBe Pair(listOf("A", "B", "C"), listOf("1", "2", "3")) + listOf(1, 2, 3, 4).unalign { + if(it % 2 == 0) it.rightIor() + else it.leftIor() + } shouldBe Pair(listOf(1, null, 3, null), listOf(null, 2, null, 4)) } diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-13.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-13.kt index 1e604b08ce7..155a072087d 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-13.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-13.kt @@ -5,9 +5,6 @@ import arrow.core.* import io.kotest.matchers.shouldBe fun test() { - listOf( - Pair("A", 1).bothIor(), - Pair("B", 2).bothIor(), - "C".leftIor() - ).separateIor() shouldBe Pair(listOf("A", "B", "C"), listOf(1, 2)) + emptyList().split() shouldBe null + listOf("A", "B", "C").split() shouldBe Pair(listOf("B", "C"), "A") } diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-14.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-14.kt index cfd124b3a0b..dae71f688ad 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-14.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-14.kt @@ -5,8 +5,7 @@ import arrow.core.* import io.kotest.matchers.shouldBe fun test() { - listOf(1, 2, 3, 4).unalign { - if(it % 2 == 0) it.rightIor() - else it.leftIor() - } shouldBe Pair(listOf(1, null, 3, null), listOf(null, 2, null, 4)) + val list1 = listOf(1, 2, 3) + val list2 = listOf(4, 5, 6, 7, 8) + list1.interleave(list2) shouldBe listOf(1, 4, 2, 5, 3, 6, 7, 8) } diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-15.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-15.kt index 7a74ad97ce8..169e6100695 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-15.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-15.kt @@ -5,6 +5,8 @@ import arrow.core.* import io.kotest.matchers.shouldBe fun test() { - emptyList().split() shouldBe null - listOf("A", "B", "C").split() shouldBe Pair(listOf("B", "C"), "A") + val ints = listOf(1, 2) + val res = ints.unweave { i -> listOf(i, i + 1, i + 2) } + res shouldBe listOf(1, 2, 2, 3, 3, 4) + res shouldBe ints.interleave(ints.flatMap { listOf(it + 1, it + 2) }) } diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-16.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-16.kt index 1068086df6e..6b88e5c632e 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-16.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-16.kt @@ -5,7 +5,6 @@ import arrow.core.* import io.kotest.matchers.shouldBe fun test() { - val list1 = listOf(1, 2, 3) - val list2 = listOf(4, 5, 6, 7, 8) - list1.interleave(list2) shouldBe listOf(1, 4, 2, 5, 3, 6, 7, 8) + listOf("A".left(), 2.right(), "C".left(), 4.right()) + .separateEither() shouldBe Pair(listOf("A", "C"), listOf(2, 4)) } diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-17.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-17.kt index 97027702741..699d8314ba2 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-17.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-17.kt @@ -5,8 +5,8 @@ import arrow.core.* import io.kotest.matchers.shouldBe fun test() { - val ints = listOf(1, 2) - val res = ints.unweave { i -> listOf(i, i + 1, i + 2) } - res shouldBe listOf(1, 2, 2, 3, 3, 4) - res shouldBe ints.interleave(ints.flatMap { listOf(it + 1, it + 2) }) + listOf(1, 2, 3, 4) + .separateEither { + if (it % 2 == 0) "even: $it".right() else "odd: $it".left() + } shouldBe Pair(listOf("odd: 1", "odd: 3"), listOf("even: 2", "even: 4")) } diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-18.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-18.kt deleted file mode 100644 index 6112994de79..00000000000 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-18.kt +++ /dev/null @@ -1,10 +0,0 @@ -// This file was automatically generated from Iterable.kt by Knit tool. Do not edit. -package arrow.core.examples.exampleIterable18 - -import arrow.core.* -import io.kotest.matchers.shouldBe - -fun test() { - listOf("A".left(), 2.right(), "C".left(), 4.right()) - .separateEither() shouldBe Pair(listOf("A", "C"), listOf(2, 4)) -} diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-19.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-19.kt deleted file mode 100644 index 70727e5686b..00000000000 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-19.kt +++ /dev/null @@ -1,12 +0,0 @@ -// This file was automatically generated from Iterable.kt by Knit tool. Do not edit. -package arrow.core.examples.exampleIterable19 - -import arrow.core.* -import io.kotest.matchers.shouldBe - -fun test() { - listOf(1, 2, 3, 4) - .separateEither { - if (it % 2 == 0) "even: $it".right() else "odd: $it".left() - } shouldBe Pair(listOf("odd: 1", "odd: 3"), listOf("even: 2", "even: 4")) -} diff --git a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/test/IterableKnitTest.kt b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/test/IterableKnitTest.kt index b4cac12b2ea..36baa058a78 100644 --- a/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/test/IterableKnitTest.kt +++ b/arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/test/IterableKnitTest.kt @@ -61,20 +61,12 @@ class IterableKnitTest { arrow.core.examples.exampleIterable14.test() } - @Test fun exampleIterable15() = runTest { - arrow.core.examples.exampleIterable15.test() - } - @Test fun exampleIterable16() = runTest { arrow.core.examples.exampleIterable16.test() } - @Test fun exampleIterable18() = runTest { - arrow.core.examples.exampleIterable18.test() - } - - @Test fun exampleIterable19() = runTest { - arrow.core.examples.exampleIterable19.test() + @Test fun exampleIterable17() = runTest { + arrow.core.examples.exampleIterable17.test() } } diff --git a/arrow-libs/core/arrow-core/src/nonJvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt b/arrow-libs/core/arrow-core/src/nonJvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt index 83b99822ef5..8efbdfe4ab3 100644 --- a/arrow-libs/core/arrow-core/src/nonJvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt +++ b/arrow-libs/core/arrow-core/src/nonJvmMain/kotlin/arrow/core/raise/CancellationExceptionNoTrace.kt @@ -1,5 +1,6 @@ package arrow.core.raise +@OptIn(DelicateRaiseApi::class) @Suppress( "EXPECT_ACTUAL_CLASSIFIERS_ARE_IN_BETA_WARNING", "SEALED_INHERITOR_IN_DIFFERENT_MODULE" diff --git a/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api new file mode 100644 index 00000000000..168fec869ec --- /dev/null +++ b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api @@ -0,0 +1,111 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[0] + abstract fun memoize(): arrow.eval/Eval<#A> // arrow.eval/Eval.memoize|memoize(){}[0] + abstract fun value(): #A // arrow.eval/Eval.value|value(){}[0] + final fun <#A1: kotlin/Any?> flatMap(kotlin/Function1<#A, arrow.eval/Eval<#A1>>): arrow.eval/Eval<#A1> // arrow.eval/Eval.flatMap|flatMap(kotlin.Function1<1:0,arrow.eval.Eval<0:0>>){0§}[0] + final fun invoke(): #A // arrow.eval/Eval.invoke|invoke(){}[0] + final inline fun <#A1: kotlin/Any?> coflatMap(crossinline kotlin/Function1, #A1>): arrow.eval/Eval<#A1> // arrow.eval/Eval.coflatMap|coflatMap(kotlin.Function1,0:0>){0§}[0] + final inline fun <#A1: kotlin/Any?> map(crossinline kotlin/Function1<#A, #A1>): arrow.eval/Eval<#A1> // arrow.eval/Eval.map|map(kotlin.Function1<1:0,0:0>){0§}[0] + open fun toString(): kotlin/String // arrow.eval/Eval.toString|toString(){}[0] + + abstract class <#A1: out kotlin/Any?> FlatMap : arrow.eval/Eval<#A1> { // arrow.eval/Eval.FlatMap|null[0] + constructor () // arrow.eval/Eval.FlatMap.|(){}[0] + + abstract fun <#A2: kotlin/Any?> run(#A2): arrow.eval/Eval<#A1> // arrow.eval/Eval.FlatMap.run|run(0:0){0§}[0] + abstract fun <#A2: kotlin/Any?> start(): arrow.eval/Eval<#A2> // arrow.eval/Eval.FlatMap.start|start(){0§}[0] + open fun memoize(): arrow.eval/Eval<#A1> // arrow.eval/Eval.FlatMap.memoize|memoize(){}[0] + open fun toString(): kotlin/String // arrow.eval/Eval.FlatMap.toString|toString(){}[0] + open fun value(): #A1 // arrow.eval/Eval.FlatMap.value|value(){}[0] + } + + final class <#A1: out kotlin/Any?> Always : arrow.eval/Eval<#A1> { // arrow.eval/Eval.Always|null[0] + constructor (kotlin/Function0<#A1>) // arrow.eval/Eval.Always.|(kotlin.Function0<1:0>){}[0] + + final fun copy(kotlin/Function0<#A1> = ...): arrow.eval/Eval.Always<#A1> // arrow.eval/Eval.Always.copy|copy(kotlin.Function0<1:0>){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.eval/Eval.Always.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.eval/Eval.Always.hashCode|hashCode(){}[0] + final fun memoize(): arrow.eval/Eval<#A1> // arrow.eval/Eval.Always.memoize|memoize(){}[0] + final fun toString(): kotlin/String // arrow.eval/Eval.Always.toString|toString(){}[0] + final fun value(): #A1 // arrow.eval/Eval.Always.value|value(){}[0] + } + + final class <#A1: out kotlin/Any?> Defer : arrow.eval/Eval<#A1> { // arrow.eval/Eval.Defer|null[0] + constructor (kotlin/Function0>) // arrow.eval/Eval.Defer.|(kotlin.Function0>){}[0] + + final val thunk // arrow.eval/Eval.Defer.thunk|{}thunk[0] + final fun (): kotlin/Function0> // arrow.eval/Eval.Defer.thunk.|(){}[0] + + final fun component1(): kotlin/Function0> // arrow.eval/Eval.Defer.component1|component1(){}[0] + final fun copy(kotlin/Function0> = ...): arrow.eval/Eval.Defer<#A1> // arrow.eval/Eval.Defer.copy|copy(kotlin.Function0>){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.eval/Eval.Defer.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.eval/Eval.Defer.hashCode|hashCode(){}[0] + final fun memoize(): arrow.eval/Eval<#A1> // arrow.eval/Eval.Defer.memoize|memoize(){}[0] + final fun toString(): kotlin/String // arrow.eval/Eval.Defer.toString|toString(){}[0] + final fun value(): #A1 // arrow.eval/Eval.Defer.value|value(){}[0] + } + + final class <#A1: out kotlin/Any?> Later : arrow.eval/Eval<#A1>, kotlin/Lazy<#A1> { // arrow.eval/Eval.Later|null[0] + constructor (kotlin/Function0<#A1>) // arrow.eval/Eval.Later.|(kotlin.Function0<1:0>){}[0] + + final val value // arrow.eval/Eval.Later.value|{}value[0] + final fun (): #A1 // arrow.eval/Eval.Later.value.|(){}[0] + + final fun copy(kotlin/Function0<#A1> = ...): arrow.eval/Eval.Later<#A1> // arrow.eval/Eval.Later.copy|copy(kotlin.Function0<1:0>){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.eval/Eval.Later.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.eval/Eval.Later.hashCode|hashCode(){}[0] + final fun isInitialized(): kotlin/Boolean // arrow.eval/Eval.Later.isInitialized|isInitialized(){}[0] + final fun memoize(): arrow.eval/Eval<#A1> // arrow.eval/Eval.Later.memoize|memoize(){}[0] + final fun toString(): kotlin/String // arrow.eval/Eval.Later.toString|toString(){}[0] + final fun value(): #A1 // arrow.eval/Eval.Later.value|value(){}[0] + } + + final class <#A1: out kotlin/Any?> Now : arrow.eval/Eval<#A1>, kotlin/Lazy<#A1> { // arrow.eval/Eval.Now|null[0] + constructor (#A1) // arrow.eval/Eval.Now.|(1:0){}[0] + + final val value // arrow.eval/Eval.Now.value|{}value[0] + final fun (): #A1 // arrow.eval/Eval.Now.value.|(){}[0] + + final fun component1(): #A1 // arrow.eval/Eval.Now.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.eval/Eval.Now<#A1> // arrow.eval/Eval.Now.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.eval/Eval.Now.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.eval/Eval.Now.hashCode|hashCode(){}[0] + final fun isInitialized(): kotlin/Boolean // arrow.eval/Eval.Now.isInitialized|isInitialized(){}[0] + final fun memoize(): arrow.eval/Eval<#A1> // arrow.eval/Eval.Now.memoize|memoize(){}[0] + final fun toString(): kotlin/String // arrow.eval/Eval.Now.toString|toString(){}[0] + final fun value(): #A1 // arrow.eval/Eval.Now.value|value(){}[0] + + final object Companion { // arrow.eval/Eval.Now.Companion|null[0] + final val unit // arrow.eval/Eval.Now.Companion.unit|{}unit[0] + final fun (): arrow.eval/Eval // arrow.eval/Eval.Now.Companion.unit.|(){}[0] + } + } + + final object Companion { // arrow.eval/Eval.Companion|null[0] + final fun <#A2: kotlin/Any?> now(#A2): arrow.eval/Eval<#A2> // arrow.eval/Eval.Companion.now|now(0:0){0§}[0] + final fun raise(kotlin/Throwable): arrow.eval/Eval // arrow.eval/Eval.Companion.raise|raise(kotlin.Throwable){}[0] + final inline fun <#A2: kotlin/Any?> always(crossinline kotlin/Function0<#A2>): arrow.eval/Eval.Always<#A2> // arrow.eval/Eval.Companion.always|always(kotlin.Function0<0:0>){0§}[0] + final inline fun <#A2: kotlin/Any?> defer(crossinline kotlin/Function0>): arrow.eval/Eval<#A2> // arrow.eval/Eval.Companion.defer|defer(kotlin.Function0>){0§}[0] + final inline fun <#A2: kotlin/Any?> later(crossinline kotlin/Function0<#A2>): arrow.eval/Eval.Later<#A2> // arrow.eval/Eval.Companion.later|later(kotlin.Function0<0:0>){0§}[0] + } +} + +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, arrow.eval/Eval<#D>, arrow.eval/Eval<#E>, arrow.eval/Eval<#F>, arrow.eval/Eval<#G>, arrow.eval/Eval<#H>, arrow.eval/Eval<#I>, arrow.eval/Eval<#J>, kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>): arrow.eval/Eval<#K> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;arrow.eval.Eval<0:3>;arrow.eval.Eval<0:4>;arrow.eval.Eval<0:5>;arrow.eval.Eval<0:6>;arrow.eval.Eval<0:7>;arrow.eval.Eval<0:8>;arrow.eval.Eval<0:9>;kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, arrow.eval/Eval<#D>, arrow.eval/Eval<#E>, arrow.eval/Eval<#F>, arrow.eval/Eval<#G>, arrow.eval/Eval<#H>, arrow.eval/Eval<#I>, kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>): arrow.eval/Eval<#J> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;arrow.eval.Eval<0:3>;arrow.eval.Eval<0:4>;arrow.eval.Eval<0:5>;arrow.eval.Eval<0:6>;arrow.eval.Eval<0:7>;arrow.eval.Eval<0:8>;kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, arrow.eval/Eval<#D>, arrow.eval/Eval<#E>, arrow.eval/Eval<#F>, arrow.eval/Eval<#G>, arrow.eval/Eval<#H>, kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>): arrow.eval/Eval<#I> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;arrow.eval.Eval<0:3>;arrow.eval.Eval<0:4>;arrow.eval.Eval<0:5>;arrow.eval.Eval<0:6>;arrow.eval.Eval<0:7>;kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, arrow.eval/Eval<#D>, arrow.eval/Eval<#E>, arrow.eval/Eval<#F>, arrow.eval/Eval<#G>, kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>): arrow.eval/Eval<#H> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;arrow.eval.Eval<0:3>;arrow.eval.Eval<0:4>;arrow.eval.Eval<0:5>;arrow.eval.Eval<0:6>;kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, arrow.eval/Eval<#D>, arrow.eval/Eval<#E>, arrow.eval/Eval<#F>, kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>): arrow.eval/Eval<#G> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;arrow.eval.Eval<0:3>;arrow.eval.Eval<0:4>;arrow.eval.Eval<0:5>;kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, arrow.eval/Eval<#D>, arrow.eval/Eval<#E>, kotlin/Function5<#A, #B, #C, #D, #E, #F>): arrow.eval/Eval<#F> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;arrow.eval.Eval<0:3>;arrow.eval.Eval<0:4>;kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, arrow.eval/Eval<#D>, kotlin/Function4<#A, #B, #C, #D, #E>): arrow.eval/Eval<#E> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;arrow.eval.Eval<0:3>;kotlin.Function4<0:0,0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, arrow.eval/Eval<#C>, kotlin/Function3<#A, #B, #C, #D>): arrow.eval/Eval<#D> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;arrow.eval.Eval<0:2>;kotlin.Function3<0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>, kotlin/Function2<#A, #B, #C>): arrow.eval/Eval<#C> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>;kotlin.Function2<0:0,0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/replicate(kotlin/Int, kotlin/Function0<#B>, kotlin/Function2<#A, #B, #B>): arrow.eval/Eval<#B> // arrow.eval/replicate|replicate@arrow.eval.Eval<0:0>(kotlin.Int;kotlin.Function0<0:1>;kotlin.Function2<0:0,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/zip(arrow.eval/Eval<#B>): arrow.eval/Eval> // arrow.eval/zip|zip@arrow.eval.Eval<0:0>(arrow.eval.Eval<0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterator<#A>).arrow.eval/iterateRight(arrow.eval/Eval<#B>, kotlin/Function2<#A, arrow.eval/Eval<#B>, arrow.eval/Eval<#B>>): arrow.eval/Eval<#B> // arrow.eval/iterateRight|iterateRight@kotlin.collections.Iterator<0:0>(arrow.eval.Eval<0:1>;kotlin.Function2<0:0,arrow.eval.Eval<0:1>,arrow.eval.Eval<0:1>>){0§;1§}[0] +final fun <#A: kotlin/Any?> (arrow.eval/Eval<#A>).arrow.eval/replicate(kotlin/Int): arrow.eval/Eval> // arrow.eval/replicate|replicate@arrow.eval.Eval<0:0>(kotlin.Int){0§}[0] diff --git a/arrow-libs/core/arrow-eval/build.gradle.kts b/arrow-libs/core/arrow-eval/build.gradle.kts index f54932ea495..85f4a155243 100644 --- a/arrow-libs/core/arrow-eval/build.gradle.kts +++ b/arrow-libs/core/arrow-eval/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -41,6 +45,12 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/core/arrow-eval/gradle.properties b/arrow-libs/core/arrow-eval/gradle.properties index 42ce89e99da..add896d1e87 100644 --- a/arrow-libs/core/arrow-eval/gradle.properties +++ b/arrow-libs/core/arrow-eval/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Eval +POM_NAME=Arrow Eval # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/core/arrow-functions/api/arrow-functions.klib.api b/arrow-libs/core/arrow-functions/api/arrow-functions.klib.api new file mode 100644 index 00000000000..78b1a3a11fb --- /dev/null +++ b/arrow-libs/core/arrow-functions/api/arrow-functions.klib.api @@ -0,0 +1,608 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin/Function1<#U, kotlin.coroutines/SuspendFunction1<#V, #W>>>>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction21<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially16(#P): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially16|partially16@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially17(#Q): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T, #U, #V, #W> // arrow.core/partially17|partially17@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially18(#R): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T, #U, #V, #W> // arrow.core/partially18|partially18@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially19(#S): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T, #U, #V, #W> // arrow.core/partially19|partially19@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction21<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially20(#T): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #U, #V, #W> // arrow.core/partially20|partially20@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:19){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially21(#U): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #V, #W> // arrow.core/partially21|partially21@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:20){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially22(#V): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #W> // arrow.core/partially22|partially22@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:21){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction21<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin/Function1<#U, kotlin.coroutines/SuspendFunction1<#V, #W>>>>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.Function1<0:18,kotlin.Function1<0:19,kotlin.Function1<0:20,kotlin.coroutines.SuspendFunction1<0:21,0:22>>>>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin/Function1<#U, kotlin/Function1<#V, #W>>>>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.Function1<0:18,kotlin.Function1<0:19,kotlin.Function1<0:20,kotlin.Function1<0:21,0:22>>>>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin/Function1<#U, kotlin/Function1<#V, #W>>>>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially1(#A): kotlin/Function21<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially1|partially1@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially10(#J): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially10|partially10@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially11(#K): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially11|partially11@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially12(#L): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially12|partially12@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially13(#M): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially13|partially13@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially14(#N): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially14|partially14@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially15(#O): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially15|partially15@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially16(#P): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially16|partially16@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially17(#Q): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T, #U, #V, #W> // arrow.core/partially17|partially17@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially18(#R): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T, #U, #V, #W> // arrow.core/partially18|partially18@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially19(#S): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T, #U, #V, #W> // arrow.core/partially19|partially19@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially2(#B): kotlin/Function21<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially2|partially2@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially20(#T): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #U, #V, #W> // arrow.core/partially20|partially20@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:19){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially21(#U): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #V, #W> // arrow.core/partially21|partially21@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:20){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially22(#V): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #W> // arrow.core/partially22|partially22@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:21){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially3(#C): kotlin/Function21<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially3|partially3@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially4(#D): kotlin/Function21<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially4|partially4@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially5(#E): kotlin/Function21<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially5|partially5@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially6(#F): kotlin/Function21<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially6|partially6@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially7(#G): kotlin/Function21<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially7|partially7@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially8(#H): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially8|partially8@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?, #W: kotlin/Any?> (kotlin/Function22<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W>).arrow.core/partially9(#I): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V, #W> // arrow.core/partially9|partially9@kotlin.Function22<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21,0:22>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§;22§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin.coroutines/SuspendFunction1<#U, #V>>>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction20<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially16(#P): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T, #U, #V> // arrow.core/partially16|partially16@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially17(#Q): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T, #U, #V> // arrow.core/partially17|partially17@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially18(#R): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T, #U, #V> // arrow.core/partially18|partially18@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially19(#S): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T, #U, #V> // arrow.core/partially19|partially19@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction20<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially20(#T): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #U, #V> // arrow.core/partially20|partially20@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:19){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially21(#U): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #V> // arrow.core/partially21|partially21@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:20){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction20<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin.coroutines/SuspendFunction1<#U, #V>>>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.Function1<0:18,kotlin.Function1<0:19,kotlin.coroutines.SuspendFunction1<0:20,0:21>>>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin/Function1<#U, #V>>>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.Function1<0:18,kotlin.Function1<0:19,kotlin.Function1<0:20,0:21>>>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, kotlin/Function1<#U, #V>>>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially1(#A): kotlin/Function20<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially1|partially1@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially10(#J): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially10|partially10@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially11(#K): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially11|partially11@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially12(#L): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially12|partially12@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially13(#M): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially13|partially13@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially14(#N): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially14|partially14@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially15(#O): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially15|partially15@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially16(#P): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T, #U, #V> // arrow.core/partially16|partially16@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially17(#Q): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T, #U, #V> // arrow.core/partially17|partially17@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially18(#R): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T, #U, #V> // arrow.core/partially18|partially18@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially19(#S): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T, #U, #V> // arrow.core/partially19|partially19@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially2(#B): kotlin/Function20<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially2|partially2@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially20(#T): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #U, #V> // arrow.core/partially20|partially20@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:19){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially21(#U): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #V> // arrow.core/partially21|partially21@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:20){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially3(#C): kotlin/Function20<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially3|partially3@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially4(#D): kotlin/Function20<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially4|partially4@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially5(#E): kotlin/Function20<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially5|partially5@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially6(#F): kotlin/Function20<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially6|partially6@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially7(#G): kotlin/Function20<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially7|partially7@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially8(#H): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially8|partially8@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?, #V: kotlin/Any?> (kotlin/Function21<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V>).arrow.core/partially9(#I): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U, #V> // arrow.core/partially9|partially9@kotlin.Function21<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20,0:21>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§;21§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin.coroutines/SuspendFunction1<#T, #U>>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction19<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T, #U> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially16(#P): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T, #U> // arrow.core/partially16|partially16@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially17(#Q): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T, #U> // arrow.core/partially17|partially17@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially18(#R): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T, #U> // arrow.core/partially18|partially18@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially19(#S): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T, #U> // arrow.core/partially19|partially19@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction19<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially20(#T): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #U> // arrow.core/partially20|partially20@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:19){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction19<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin.coroutines/SuspendFunction1<#T, #U>>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.Function1<0:18,kotlin.coroutines.SuspendFunction1<0:19,0:20>>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, #U>>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.Function1<0:18,kotlin.Function1<0:19,0:20>>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, kotlin/Function1<#T, #U>>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially1(#A): kotlin/Function19<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially1|partially1@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially10(#J): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially10|partially10@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially11(#K): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially11|partially11@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially12(#L): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially12|partially12@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially13(#M): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially13|partially13@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially14(#N): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially14|partially14@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially15(#O): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T, #U> // arrow.core/partially15|partially15@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially16(#P): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T, #U> // arrow.core/partially16|partially16@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially17(#Q): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T, #U> // arrow.core/partially17|partially17@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially18(#R): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T, #U> // arrow.core/partially18|partially18@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially19(#S): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T, #U> // arrow.core/partially19|partially19@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially2(#B): kotlin/Function19<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially2|partially2@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially20(#T): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #U> // arrow.core/partially20|partially20@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:19){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially3(#C): kotlin/Function19<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially3|partially3@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially4(#D): kotlin/Function19<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially4|partially4@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially5(#E): kotlin/Function19<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially5|partially5@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially6(#F): kotlin/Function19<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially6|partially6@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially7(#G): kotlin/Function19<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially7|partially7@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially8(#H): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially8|partially8@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?, #U: kotlin/Any?> (kotlin/Function20<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U>).arrow.core/partially9(#I): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T, #U> // arrow.core/partially9|partially9@kotlin.Function20<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19,0:20>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§;20§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin.coroutines/SuspendFunction1<#S, #T>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction18<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially16(#P): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T> // arrow.core/partially16|partially16@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially17(#Q): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T> // arrow.core/partially17|partially17@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially18(#R): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T> // arrow.core/partially18|partially18@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially19(#S): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T> // arrow.core/partially19|partially19@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction18<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction18<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, #T>>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially1(#A): kotlin/Function18<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially1|partially1@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially10(#J): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially10|partially10@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially11(#K): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially11|partially11@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially12(#L): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially12|partially12@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially13(#M): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially13|partially13@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially14(#N): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S, #T> // arrow.core/partially14|partially14@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially15(#O): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S, #T> // arrow.core/partially15|partially15@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially16(#P): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S, #T> // arrow.core/partially16|partially16@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially17(#Q): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S, #T> // arrow.core/partially17|partially17@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially18(#R): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S, #T> // arrow.core/partially18|partially18@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially19(#S): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #T> // arrow.core/partially19|partially19@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:18){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially2(#B): kotlin/Function18<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially2|partially2@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially3(#C): kotlin/Function18<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially3|partially3@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially4(#D): kotlin/Function18<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially4|partially4@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially5(#E): kotlin/Function18<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially5|partially5@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially6(#F): kotlin/Function18<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially6|partially6@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially7(#G): kotlin/Function18<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially7|partially7@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially8(#H): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially8|partially8@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T>).arrow.core/partially9(#I): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/partially9|partially9@kotlin.Function19<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18,0:19>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin.coroutines/SuspendFunction1<#S, #T>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.coroutines.SuspendFunction1<0:18,0:19>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?, #T: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, kotlin/Function1<#S, #T>>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function19<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S, #T> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,kotlin.Function1<0:18,0:19>>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§;19§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin.coroutines/SuspendFunction1<#R, #S>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction17<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially16(#P): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S> // arrow.core/partially16|partially16@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially17(#Q): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S> // arrow.core/partially17|partially17@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially18(#R): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S> // arrow.core/partially18|partially18@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction17<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction17<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, #S>>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially1(#A): kotlin/Function17<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially1|partially1@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially10(#J): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially10|partially10@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially11(#K): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially11|partially11@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially12(#L): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially12|partially12@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially13(#M): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R, #S> // arrow.core/partially13|partially13@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially14(#N): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R, #S> // arrow.core/partially14|partially14@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially15(#O): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R, #S> // arrow.core/partially15|partially15@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially16(#P): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R, #S> // arrow.core/partially16|partially16@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially17(#Q): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R, #S> // arrow.core/partially17|partially17@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially18(#R): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #S> // arrow.core/partially18|partially18@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:17){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially2(#B): kotlin/Function17<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially2|partially2@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially3(#C): kotlin/Function17<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially3|partially3@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially4(#D): kotlin/Function17<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially4|partially4@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially5(#E): kotlin/Function17<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially5|partially5@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially6(#F): kotlin/Function17<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially6|partially6@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially7(#G): kotlin/Function17<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially7|partially7@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially8(#H): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially8|partially8@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S>).arrow.core/partially9(#I): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/partially9|partially9@kotlin.Function18<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17,0:18>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin.coroutines/SuspendFunction1<#R, #S>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.coroutines.SuspendFunction1<0:17,0:18>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?, #S: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, kotlin/Function1<#R, #S>>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function18<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R, #S> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,kotlin.Function1<0:17,0:18>>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§;18§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin.coroutines/SuspendFunction1<#Q, #R>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction16<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially16(#P): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R> // arrow.core/partially16|partially16@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially17(#Q): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R> // arrow.core/partially17|partially17@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction16<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction16<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, #R>>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially1(#A): kotlin/Function16<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially1|partially1@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially10(#J): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially10|partially10@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially11(#K): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially11|partially11@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially12(#L): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q, #R> // arrow.core/partially12|partially12@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially13(#M): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q, #R> // arrow.core/partially13|partially13@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially14(#N): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q, #R> // arrow.core/partially14|partially14@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially15(#O): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q, #R> // arrow.core/partially15|partially15@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially16(#P): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q, #R> // arrow.core/partially16|partially16@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially17(#Q): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #R> // arrow.core/partially17|partially17@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:16){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially2(#B): kotlin/Function16<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially2|partially2@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially3(#C): kotlin/Function16<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially3|partially3@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially4(#D): kotlin/Function16<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially4|partially4@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially5(#E): kotlin/Function16<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially5|partially5@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially6(#F): kotlin/Function16<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially6|partially6@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially7(#G): kotlin/Function16<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially7|partially7@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially8(#H): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially8|partially8@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R>).arrow.core/partially9(#I): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/partially9|partially9@kotlin.Function17<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16,0:17>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin.coroutines/SuspendFunction1<#Q, #R>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.coroutines.SuspendFunction1<0:16,0:17>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?, #R: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, kotlin/Function1<#Q, #R>>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function17<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q, #R> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,kotlin.Function1<0:16,0:17>>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§;17§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin.coroutines/SuspendFunction1<#P, #Q>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction15<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially16(#P): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q> // arrow.core/partially16|partially16@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction15<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction15<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, #Q>>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially1(#A): kotlin/Function15<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially1|partially1@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially10(#J): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially10|partially10@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially11(#K): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P, #Q> // arrow.core/partially11|partially11@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially12(#L): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P, #Q> // arrow.core/partially12|partially12@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially13(#M): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P, #Q> // arrow.core/partially13|partially13@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially14(#N): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P, #Q> // arrow.core/partially14|partially14@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially15(#O): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P, #Q> // arrow.core/partially15|partially15@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially16(#P): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #Q> // arrow.core/partially16|partially16@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:15){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially2(#B): kotlin/Function15<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially2|partially2@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially3(#C): kotlin/Function15<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially3|partially3@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially4(#D): kotlin/Function15<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially4|partially4@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially5(#E): kotlin/Function15<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially5|partially5@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially6(#F): kotlin/Function15<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially6|partially6@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially7(#G): kotlin/Function15<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially7|partially7@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially8(#H): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially8|partially8@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q>).arrow.core/partially9(#I): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/partially9|partially9@kotlin.Function16<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15,0:16>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin.coroutines/SuspendFunction1<#P, #Q>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.coroutines.SuspendFunction1<0:15,0:16>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?, #Q: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, kotlin/Function1<#P, #Q>>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function16<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P, #Q> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,kotlin.Function1<0:15,0:16>>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§;16§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin.coroutines/SuspendFunction1<#O, #P>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction14<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially15(#O): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P> // arrow.core/partially15|partially15@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction14<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction14<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, #P>>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially1(#A): kotlin/Function14<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially1|partially1@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially10(#J): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O, #P> // arrow.core/partially10|partially10@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially11(#K): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O, #P> // arrow.core/partially11|partially11@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially12(#L): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O, #P> // arrow.core/partially12|partially12@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially13(#M): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O, #P> // arrow.core/partially13|partially13@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially14(#N): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O, #P> // arrow.core/partially14|partially14@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially15(#O): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #P> // arrow.core/partially15|partially15@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:14){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially2(#B): kotlin/Function14<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially2|partially2@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially3(#C): kotlin/Function14<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially3|partially3@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially4(#D): kotlin/Function14<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially4|partially4@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially5(#E): kotlin/Function14<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially5|partially5@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially6(#F): kotlin/Function14<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially6|partially6@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially7(#G): kotlin/Function14<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially7|partially7@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially8(#H): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially8|partially8@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P>).arrow.core/partially9(#I): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O, #P> // arrow.core/partially9|partially9@kotlin.Function15<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14,0:15>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin.coroutines/SuspendFunction1<#O, #P>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.coroutines.SuspendFunction1<0:14,0:15>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?, #P: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, kotlin/Function1<#O, #P>>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function15<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O, #P> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,kotlin.Function1<0:14,0:15>>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§;15§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin.coroutines/SuspendFunction1<#N, #O>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction13<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially14(#N): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O> // arrow.core/partially14|partially14@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction13<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction13<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, #O>>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially1(#A): kotlin/Function13<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially1|partially1@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially10(#J): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N, #O> // arrow.core/partially10|partially10@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially11(#K): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N, #O> // arrow.core/partially11|partially11@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially12(#L): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N, #O> // arrow.core/partially12|partially12@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially13(#M): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N, #O> // arrow.core/partially13|partially13@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially14(#N): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #O> // arrow.core/partially14|partially14@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:13){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially2(#B): kotlin/Function13<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially2|partially2@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially3(#C): kotlin/Function13<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially3|partially3@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially4(#D): kotlin/Function13<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially4|partially4@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially5(#E): kotlin/Function13<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially5|partially5@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially6(#F): kotlin/Function13<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially6|partially6@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially7(#G): kotlin/Function13<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially7|partially7@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially8(#H): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N, #O> // arrow.core/partially8|partially8@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O>).arrow.core/partially9(#I): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N, #O> // arrow.core/partially9|partially9@kotlin.Function14<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13,0:14>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin.coroutines/SuspendFunction1<#N, #O>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.coroutines.SuspendFunction1<0:13,0:14>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?, #O: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, kotlin/Function1<#N, #O>>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function14<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N, #O> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,kotlin.Function1<0:13,0:14>>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§;14§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin.coroutines/SuspendFunction1<#M, #N>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction12<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially13(#M): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N> // arrow.core/partially13|partially13@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction12<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction12<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, #N>>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially1(#A): kotlin/Function12<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially1|partially1@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially10(#J): kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M, #N> // arrow.core/partially10|partially10@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially11(#K): kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M, #N> // arrow.core/partially11|partially11@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially12(#L): kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M, #N> // arrow.core/partially12|partially12@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially13(#M): kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #N> // arrow.core/partially13|partially13@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:12){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially2(#B): kotlin/Function12<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially2|partially2@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially3(#C): kotlin/Function12<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially3|partially3@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially4(#D): kotlin/Function12<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially4|partially4@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially5(#E): kotlin/Function12<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially5|partially5@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially6(#F): kotlin/Function12<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially6|partially6@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially7(#G): kotlin/Function12<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M, #N> // arrow.core/partially7|partially7@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially8(#H): kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M, #N> // arrow.core/partially8|partially8@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N>).arrow.core/partially9(#I): kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M, #N> // arrow.core/partially9|partially9@kotlin.Function13<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12,0:13>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin.coroutines/SuspendFunction1<#M, #N>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.coroutines.SuspendFunction1<0:12,0:13>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?, #N: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, kotlin/Function1<#M, #N>>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function13<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M, #N> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,kotlin.Function1<0:12,0:13>>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§;13§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin.coroutines/SuspendFunction1<#L, #M>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction11<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially12(#L): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M> // arrow.core/partially12|partially12@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction11<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction11<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, #M>>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially1(#A): kotlin/Function11<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially1|partially1@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially10(#J): kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L, #M> // arrow.core/partially10|partially10@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially11(#K): kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L, #M> // arrow.core/partially11|partially11@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially12(#L): kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #M> // arrow.core/partially12|partially12@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:11){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially2(#B): kotlin/Function11<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially2|partially2@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially3(#C): kotlin/Function11<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially3|partially3@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially4(#D): kotlin/Function11<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially4|partially4@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially5(#E): kotlin/Function11<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially5|partially5@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially6(#F): kotlin/Function11<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L, #M> // arrow.core/partially6|partially6@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially7(#G): kotlin/Function11<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L, #M> // arrow.core/partially7|partially7@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially8(#H): kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L, #M> // arrow.core/partially8|partially8@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M>).arrow.core/partially9(#I): kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L, #M> // arrow.core/partially9|partially9@kotlin.Function12<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11,0:12>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin.coroutines/SuspendFunction1<#L, #M>>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.coroutines.SuspendFunction1<0:11,0:12>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?, #M: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, kotlin/Function1<#L, #M>>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function12<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L, #M> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,kotlin.Function1<0:11,0:12>>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§;12§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin.coroutines/SuspendFunction1<#K, #L>>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction10<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially11(#K): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L> // arrow.core/partially11|partially11@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction10<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction10<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, #L>>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially1(#A): kotlin/Function10<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially1|partially1@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially10(#J): kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K, #L> // arrow.core/partially10|partially10@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially11(#K): kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #L> // arrow.core/partially11|partially11@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially2(#B): kotlin/Function10<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially2|partially2@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially3(#C): kotlin/Function10<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially3|partially3@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially4(#D): kotlin/Function10<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially4|partially4@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially5(#E): kotlin/Function10<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K, #L> // arrow.core/partially5|partially5@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially6(#F): kotlin/Function10<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K, #L> // arrow.core/partially6|partially6@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially7(#G): kotlin/Function10<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K, #L> // arrow.core/partially7|partially7@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially8(#H): kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K, #L> // arrow.core/partially8|partially8@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L>).arrow.core/partially9(#I): kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K, #L> // arrow.core/partially9|partially9@kotlin.Function11<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10,0:11>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin.coroutines/SuspendFunction1<#K, #L>>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.coroutines.SuspendFunction1<0:10,0:11>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?, #L: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, kotlin/Function1<#K, #L>>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function11<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K, #L> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,kotlin.Function1<0:10,0:11>>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§;11§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin.coroutines/SuspendFunction1<#J, #K>>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction9<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially10(#J): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K> // arrow.core/partially10|partially10@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction9<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction9<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, #K>>>>>>>>>> // arrow.core/curried|curried@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially1(#A): kotlin/Function9<#B, #C, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially1|partially1@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially10(#J): kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #K> // arrow.core/partially10|partially10@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially2(#B): kotlin/Function9<#A, #C, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially2|partially2@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially3(#C): kotlin/Function9<#A, #B, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially3|partially3@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially4(#D): kotlin/Function9<#A, #B, #C, #E, #F, #G, #H, #I, #J, #K> // arrow.core/partially4|partially4@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially5(#E): kotlin/Function9<#A, #B, #C, #D, #F, #G, #H, #I, #J, #K> // arrow.core/partially5|partially5@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially6(#F): kotlin/Function9<#A, #B, #C, #D, #E, #G, #H, #I, #J, #K> // arrow.core/partially6|partially6@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially7(#G): kotlin/Function9<#A, #B, #C, #D, #E, #F, #H, #I, #J, #K> // arrow.core/partially7|partially7@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially8(#H): kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #I, #J, #K> // arrow.core/partially8|partially8@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K>).arrow.core/partially9(#I): kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #J, #K> // arrow.core/partially9|partially9@kotlin.Function10<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9,0:10>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin.coroutines/SuspendFunction1<#J, #K>>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.coroutines.SuspendFunction1<0:9,0:10>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, kotlin/Function1<#J, #K>>>>>>>>>>).arrow.core/uncurried(): kotlin/Function10<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J, #K> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,kotlin.Function1<0:9,0:10>>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin.coroutines/SuspendFunction1<#I, #J>>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction8<#B, #C, #D, #E, #F, #G, #H, #I, #J> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction8<#A, #C, #D, #E, #F, #G, #H, #I, #J> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction8<#A, #B, #D, #E, #F, #G, #H, #I, #J> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction8<#A, #B, #C, #E, #F, #G, #H, #I, #J> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #F, #G, #H, #I, #J> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #G, #H, #I, #J> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #H, #I, #J> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #I, #J> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially9(#I): kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #J> // arrow.core/partially9|partially9@kotlin.coroutines.SuspendFunction9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin.coroutines/SuspendFunction1<#I, #J>>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.coroutines.SuspendFunction1<0:8,0:9>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, #J>>>>>>>>>).arrow.core/uncurried(): kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,kotlin.Function1<0:8,0:9>>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, kotlin/Function1<#I, #J>>>>>>>>> // arrow.core/curried|curried@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially1(#A): kotlin/Function8<#B, #C, #D, #E, #F, #G, #H, #I, #J> // arrow.core/partially1|partially1@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially2(#B): kotlin/Function8<#A, #C, #D, #E, #F, #G, #H, #I, #J> // arrow.core/partially2|partially2@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially3(#C): kotlin/Function8<#A, #B, #D, #E, #F, #G, #H, #I, #J> // arrow.core/partially3|partially3@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially4(#D): kotlin/Function8<#A, #B, #C, #E, #F, #G, #H, #I, #J> // arrow.core/partially4|partially4@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially5(#E): kotlin/Function8<#A, #B, #C, #D, #F, #G, #H, #I, #J> // arrow.core/partially5|partially5@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially6(#F): kotlin/Function8<#A, #B, #C, #D, #E, #G, #H, #I, #J> // arrow.core/partially6|partially6@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially7(#G): kotlin/Function8<#A, #B, #C, #D, #E, #F, #H, #I, #J> // arrow.core/partially7|partially7@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially8(#H): kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #I, #J> // arrow.core/partially8|partially8@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (kotlin/Function9<#A, #B, #C, #D, #E, #F, #G, #H, #I, #J>).arrow.core/partially9(#I): kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #J> // arrow.core/partially9|partially9@kotlin.Function9<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8,0:9>(0:8){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin.coroutines/SuspendFunction1<#H, #I>>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction7<#B, #C, #D, #E, #F, #G, #H, #I> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction7<#A, #C, #D, #E, #F, #G, #H, #I> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction7<#A, #B, #D, #E, #F, #G, #H, #I> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction7<#A, #B, #C, #E, #F, #G, #H, #I> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #F, #G, #H, #I> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #G, #H, #I> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #H, #I> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially8(#H): kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #I> // arrow.core/partially8|partially8@kotlin.coroutines.SuspendFunction8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin.coroutines/SuspendFunction1<#H, #I>>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction8<#A, #B, #C, #D, #E, #F, #G, #H, #I> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.coroutines.SuspendFunction1<0:7,0:8>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, #I>>>>>>>>).arrow.core/uncurried(): kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,kotlin.Function1<0:7,0:8>>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, kotlin/Function1<#H, #I>>>>>>>> // arrow.core/curried|curried@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially1(#A): kotlin/Function7<#B, #C, #D, #E, #F, #G, #H, #I> // arrow.core/partially1|partially1@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:0){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially2(#B): kotlin/Function7<#A, #C, #D, #E, #F, #G, #H, #I> // arrow.core/partially2|partially2@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:1){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially3(#C): kotlin/Function7<#A, #B, #D, #E, #F, #G, #H, #I> // arrow.core/partially3|partially3@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:2){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially4(#D): kotlin/Function7<#A, #B, #C, #E, #F, #G, #H, #I> // arrow.core/partially4|partially4@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:3){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially5(#E): kotlin/Function7<#A, #B, #C, #D, #F, #G, #H, #I> // arrow.core/partially5|partially5@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:4){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially6(#F): kotlin/Function7<#A, #B, #C, #D, #E, #G, #H, #I> // arrow.core/partially6|partially6@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:5){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially7(#G): kotlin/Function7<#A, #B, #C, #D, #E, #F, #H, #I> // arrow.core/partially7|partially7@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:6){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (kotlin/Function8<#A, #B, #C, #D, #E, #F, #G, #H, #I>).arrow.core/partially8(#H): kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #I> // arrow.core/partially8|partially8@kotlin.Function8<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7,0:8>(0:7){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin.coroutines/SuspendFunction1<#G, #H>>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction6<#B, #C, #D, #E, #F, #G, #H> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:0){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction6<#A, #C, #D, #E, #F, #G, #H> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:1){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction6<#A, #B, #D, #E, #F, #G, #H> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:2){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction6<#A, #B, #C, #E, #F, #G, #H> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:3){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #F, #G, #H> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:4){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #G, #H> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:5){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially7(#G): kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #H> // arrow.core/partially7|partially7@kotlin.coroutines.SuspendFunction7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:6){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin.coroutines/SuspendFunction1<#G, #H>>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction7<#A, #B, #C, #D, #E, #F, #G, #H> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.coroutines.SuspendFunction1<0:6,0:7>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, #H>>>>>>>).arrow.core/uncurried(): kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,kotlin.Function1<0:6,0:7>>>>>>>(){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, kotlin/Function1<#G, #H>>>>>>> // arrow.core/curried|curried@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially1(#A): kotlin/Function6<#B, #C, #D, #E, #F, #G, #H> // arrow.core/partially1|partially1@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:0){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially2(#B): kotlin/Function6<#A, #C, #D, #E, #F, #G, #H> // arrow.core/partially2|partially2@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:1){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially3(#C): kotlin/Function6<#A, #B, #D, #E, #F, #G, #H> // arrow.core/partially3|partially3@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:2){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially4(#D): kotlin/Function6<#A, #B, #C, #E, #F, #G, #H> // arrow.core/partially4|partially4@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:3){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially5(#E): kotlin/Function6<#A, #B, #C, #D, #F, #G, #H> // arrow.core/partially5|partially5@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:4){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially6(#F): kotlin/Function6<#A, #B, #C, #D, #E, #G, #H> // arrow.core/partially6|partially6@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:5){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (kotlin/Function7<#A, #B, #C, #D, #E, #F, #G, #H>).arrow.core/partially7(#G): kotlin/Function6<#A, #B, #C, #D, #E, #F, #H> // arrow.core/partially7|partially7@kotlin.Function7<0:0,0:1,0:2,0:3,0:4,0:5,0:6,0:7>(0:6){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin.coroutines/SuspendFunction1<#F, #G>>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction5<#B, #C, #D, #E, #F, #G> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:0){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction5<#A, #C, #D, #E, #F, #G> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:1){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction5<#A, #B, #D, #E, #F, #G> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:2){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction5<#A, #B, #C, #E, #F, #G> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:3){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #F, #G> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:4){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially6(#F): kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #G> // arrow.core/partially6|partially6@kotlin.coroutines.SuspendFunction6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:5){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin.coroutines/SuspendFunction1<#F, #G>>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction6<#A, #B, #C, #D, #E, #F, #G> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.coroutines.SuspendFunction1<0:5,0:6>>>>>>(){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, #G>>>>>>).arrow.core/uncurried(): kotlin/Function6<#A, #B, #C, #D, #E, #F, #G> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,kotlin.Function1<0:5,0:6>>>>>>(){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, kotlin/Function1<#F, #G>>>>>> // arrow.core/curried|curried@kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially1(#A): kotlin/Function5<#B, #C, #D, #E, #F, #G> // arrow.core/partially1|partially1@kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:0){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially2(#B): kotlin/Function5<#A, #C, #D, #E, #F, #G> // arrow.core/partially2|partially2@kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:1){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially3(#C): kotlin/Function5<#A, #B, #D, #E, #F, #G> // arrow.core/partially3|partially3@kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:2){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially4(#D): kotlin/Function5<#A, #B, #C, #E, #F, #G> // arrow.core/partially4|partially4@kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:3){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially5(#E): kotlin/Function5<#A, #B, #C, #D, #F, #G> // arrow.core/partially5|partially5@kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:4){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (kotlin/Function6<#A, #B, #C, #D, #E, #F, #G>).arrow.core/partially6(#F): kotlin/Function5<#A, #B, #C, #D, #E, #G> // arrow.core/partially6|partially6@kotlin.Function6<0:0,0:1,0:2,0:3,0:4,0:5,0:6>(0:5){0§;1§;2§;3§;4§;5§;6§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #F>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin.coroutines/SuspendFunction1<#E, #F>>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction5<0:0,0:1,0:2,0:3,0:4,0:5>(){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #F>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction4<#B, #C, #D, #E, #F> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction5<0:0,0:1,0:2,0:3,0:4,0:5>(0:0){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #F>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction4<#A, #C, #D, #E, #F> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction5<0:0,0:1,0:2,0:3,0:4,0:5>(0:1){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #F>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction4<#A, #B, #D, #E, #F> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction5<0:0,0:1,0:2,0:3,0:4,0:5>(0:2){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #F>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction4<#A, #B, #C, #E, #F> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction5<0:0,0:1,0:2,0:3,0:4,0:5>(0:3){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #F>).arrow.core/partially5(#E): kotlin.coroutines/SuspendFunction4<#A, #B, #C, #D, #F> // arrow.core/partially5|partially5@kotlin.coroutines.SuspendFunction5<0:0,0:1,0:2,0:3,0:4,0:5>(0:4){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin.coroutines/SuspendFunction1<#E, #F>>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction5<#A, #B, #C, #D, #E, #F> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.coroutines.SuspendFunction1<0:4,0:5>>>>>(){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, #F>>>>>).arrow.core/uncurried(): kotlin/Function5<#A, #B, #C, #D, #E, #F> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,kotlin.Function1<0:4,0:5>>>>>(){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function5<#A, #B, #C, #D, #E, #F>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, kotlin/Function1<#E, #F>>>>> // arrow.core/curried|curried@kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>(){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function5<#A, #B, #C, #D, #E, #F>).arrow.core/memoize(): kotlin/Function5<#A, #B, #C, #D, #E, #F> // arrow.core/memoize|memoize@kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>(){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function5<#A, #B, #C, #D, #E, #F>).arrow.core/partially1(#A): kotlin/Function4<#B, #C, #D, #E, #F> // arrow.core/partially1|partially1@kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>(0:0){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function5<#A, #B, #C, #D, #E, #F>).arrow.core/partially2(#B): kotlin/Function4<#A, #C, #D, #E, #F> // arrow.core/partially2|partially2@kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>(0:1){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function5<#A, #B, #C, #D, #E, #F>).arrow.core/partially3(#C): kotlin/Function4<#A, #B, #D, #E, #F> // arrow.core/partially3|partially3@kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>(0:2){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function5<#A, #B, #C, #D, #E, #F>).arrow.core/partially4(#D): kotlin/Function4<#A, #B, #C, #E, #F> // arrow.core/partially4|partially4@kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>(0:3){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (kotlin/Function5<#A, #B, #C, #D, #E, #F>).arrow.core/partially5(#E): kotlin/Function4<#A, #B, #C, #D, #F> // arrow.core/partially5|partially5@kotlin.Function5<0:0,0:1,0:2,0:3,0:4,0:5>(0:4){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.coroutines/SuspendFunction4<#A, #B, #C, #D, #E>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin.coroutines/SuspendFunction1<#D, #E>>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction4<0:0,0:1,0:2,0:3,0:4>(){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.coroutines/SuspendFunction4<#A, #B, #C, #D, #E>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction3<#B, #C, #D, #E> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction4<0:0,0:1,0:2,0:3,0:4>(0:0){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.coroutines/SuspendFunction4<#A, #B, #C, #D, #E>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction3<#A, #C, #D, #E> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction4<0:0,0:1,0:2,0:3,0:4>(0:1){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.coroutines/SuspendFunction4<#A, #B, #C, #D, #E>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction3<#A, #B, #D, #E> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction4<0:0,0:1,0:2,0:3,0:4>(0:2){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin.coroutines/SuspendFunction4<#A, #B, #C, #D, #E>).arrow.core/partially4(#D): kotlin.coroutines/SuspendFunction3<#A, #B, #C, #E> // arrow.core/partially4|partially4@kotlin.coroutines.SuspendFunction4<0:0,0:1,0:2,0:3,0:4>(0:3){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin.coroutines/SuspendFunction1<#D, #E>>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction4<#A, #B, #C, #D, #E> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.coroutines.SuspendFunction1<0:3,0:4>>>>(){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, #E>>>>).arrow.core/uncurried(): kotlin/Function4<#A, #B, #C, #D, #E> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,kotlin.Function1<0:3,0:4>>>>(){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function4<#A, #B, #C, #D, #E>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, kotlin/Function1<#D, #E>>>> // arrow.core/curried|curried@kotlin.Function4<0:0,0:1,0:2,0:3,0:4>(){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function4<#A, #B, #C, #D, #E>).arrow.core/memoize(): kotlin/Function4<#A, #B, #C, #D, #E> // arrow.core/memoize|memoize@kotlin.Function4<0:0,0:1,0:2,0:3,0:4>(){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function4<#A, #B, #C, #D, #E>).arrow.core/partially1(#A): kotlin/Function3<#B, #C, #D, #E> // arrow.core/partially1|partially1@kotlin.Function4<0:0,0:1,0:2,0:3,0:4>(0:0){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function4<#A, #B, #C, #D, #E>).arrow.core/partially2(#B): kotlin/Function3<#A, #C, #D, #E> // arrow.core/partially2|partially2@kotlin.Function4<0:0,0:1,0:2,0:3,0:4>(0:1){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function4<#A, #B, #C, #D, #E>).arrow.core/partially3(#C): kotlin/Function3<#A, #B, #D, #E> // arrow.core/partially3|partially3@kotlin.Function4<0:0,0:1,0:2,0:3,0:4>(0:2){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (kotlin/Function4<#A, #B, #C, #D, #E>).arrow.core/partially4(#D): kotlin/Function3<#A, #B, #C, #E> // arrow.core/partially4|partially4@kotlin.Function4<0:0,0:1,0:2,0:3,0:4>(0:3){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.coroutines/SuspendFunction3<#A, #B, #C, #D>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin.coroutines/SuspendFunction1<#C, #D>>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction3<0:0,0:1,0:2,0:3>(){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.coroutines/SuspendFunction3<#A, #B, #C, #D>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction2<#B, #C, #D> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction3<0:0,0:1,0:2,0:3>(0:0){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.coroutines/SuspendFunction3<#A, #B, #C, #D>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction2<#A, #C, #D> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction3<0:0,0:1,0:2,0:3>(0:1){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.coroutines/SuspendFunction3<#A, #B, #C, #D>).arrow.core/partially3(#C): kotlin.coroutines/SuspendFunction2<#A, #B, #D> // arrow.core/partially3|partially3@kotlin.coroutines.SuspendFunction3<0:0,0:1,0:2,0:3>(0:2){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin.coroutines/SuspendFunction1<#C, #D>>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction3<#A, #B, #C, #D> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.coroutines.SuspendFunction1<0:2,0:3>>>(){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, #D>>>).arrow.core/uncurried(): kotlin/Function3<#A, #B, #C, #D> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,kotlin.Function1<0:2,0:3>>>(){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function2<#A, #B, #C>).arrow.core/andThen(kotlin/Function1<#C, #D>): kotlin/Function2<#A, #B, #D> // arrow.core/andThen|andThen@kotlin.Function2<0:0,0:1,0:2>(kotlin.Function1<0:2,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function3<#A, #B, #C, #D>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, kotlin/Function1<#C, #D>>> // arrow.core/curried|curried@kotlin.Function3<0:0,0:1,0:2,0:3>(){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function3<#A, #B, #C, #D>).arrow.core/memoize(): kotlin/Function3<#A, #B, #C, #D> // arrow.core/memoize|memoize@kotlin.Function3<0:0,0:1,0:2,0:3>(){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function3<#A, #B, #C, #D>).arrow.core/partially1(#A): kotlin/Function2<#B, #C, #D> // arrow.core/partially1|partially1@kotlin.Function3<0:0,0:1,0:2,0:3>(0:0){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function3<#A, #B, #C, #D>).arrow.core/partially2(#B): kotlin/Function2<#A, #C, #D> // arrow.core/partially2|partially2@kotlin.Function3<0:0,0:1,0:2,0:3>(0:1){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin/Function3<#A, #B, #C, #D>).arrow.core/partially3(#C): kotlin/Function2<#A, #B, #D> // arrow.core/partially3|partially3@kotlin.Function3<0:0,0:1,0:2,0:3>(0:2){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction2<#A, #B, #C>).arrow.core/curried(): kotlin/Function1<#A, kotlin.coroutines/SuspendFunction1<#B, #C>> // arrow.core/curried|curried@kotlin.coroutines.SuspendFunction2<0:0,0:1,0:2>(){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction2<#A, #B, #C>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction1<#B, #C> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction2<0:0,0:1,0:2>(0:0){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.coroutines/SuspendFunction2<#A, #B, #C>).arrow.core/partially2(#B): kotlin.coroutines/SuspendFunction1<#A, #C> // arrow.core/partially2|partially2@kotlin.coroutines.SuspendFunction2<0:0,0:1,0:2>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1<#A, #B>).arrow.core/andThen(kotlin/Function1<#B, #C>): kotlin/Function1<#A, #C> // arrow.core/andThen|andThen@kotlin.Function1<0:0,0:1>(kotlin.Function1<0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1<#A, #B>).arrow.core/compose(kotlin/Function1<#C, #A>): kotlin/Function1<#C, #B> // arrow.core/compose|compose@kotlin.Function1<0:0,0:1>(kotlin.Function1<0:2,0:0>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1<#A, kotlin.coroutines/SuspendFunction1<#B, #C>>).arrow.core/uncurried(): kotlin.coroutines/SuspendFunction2<#A, #B, #C> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.coroutines.SuspendFunction1<0:1,0:2>>(){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function1<#A, kotlin/Function1<#B, #C>>).arrow.core/uncurried(): kotlin/Function2<#A, #B, #C> // arrow.core/uncurried|uncurried@kotlin.Function1<0:0,kotlin.Function1<0:1,0:2>>(){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function2<#A, #B, #C>).arrow.core/curried(): kotlin/Function1<#A, kotlin/Function1<#B, #C>> // arrow.core/curried|curried@kotlin.Function2<0:0,0:1,0:2>(){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function2<#A, #B, #C>).arrow.core/memoize(): kotlin/Function2<#A, #B, #C> // arrow.core/memoize|memoize@kotlin.Function2<0:0,0:1,0:2>(){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function2<#A, #B, #C>).arrow.core/partially1(#A): kotlin/Function1<#B, #C> // arrow.core/partially1|partially1@kotlin.Function2<0:0,0:1,0:2>(0:0){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin/Function2<#A, #B, #C>).arrow.core/partially2(#B): kotlin/Function1<#A, #C> // arrow.core/partially2|partially2@kotlin.Function2<0:0,0:1,0:2>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1<#A, #B>).arrow.core/partially1(#A): kotlin.coroutines/SuspendFunction0<#B> // arrow.core/partially1|partially1@kotlin.coroutines.SuspendFunction1<0:0,0:1>(0:0){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function0<#A>).arrow.core/andThen(kotlin/Function1<#A, #B>): kotlin/Function0<#B> // arrow.core/andThen|andThen@kotlin.Function0<0:0>(kotlin.Function1<0:0,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1<#A, #B>).arrow.core/memoize(): kotlin/Function1<#A, #B> // arrow.core/memoize|memoize@kotlin.Function1<0:0,0:1>(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin/Function1<#A, #B>).arrow.core/partially1(#A): kotlin/Function0<#B> // arrow.core/partially1|partially1@kotlin.Function1<0:0,0:1>(0:0){0§;1§}[0] +final fun <#A: kotlin/Any?> (kotlin/Function0<#A>).arrow.core/memoize(): kotlin/Function0<#A> // arrow.core/memoize|memoize@kotlin.Function0<0:0>(){0§}[0] diff --git a/arrow-libs/core/arrow-functions/build.gradle.kts b/arrow-libs/core/arrow-functions/build.gradle.kts index 748b9680ca8..baf746a18a0 100644 --- a/arrow-libs/core/arrow-functions/build.gradle.kts +++ b/arrow-libs/core/arrow-functions/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -44,6 +48,12 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/core/arrow-functions/gradle.properties b/arrow-libs/core/arrow-functions/gradle.properties index 19c64baf9cb..9b550742fd6 100644 --- a/arrow-libs/core/arrow-functions/gradle.properties +++ b/arrow-libs/core/arrow-functions/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Functions +POM_NAME=Arrow Functions # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/fx/arrow-collectors/api/arrow-collectors.api b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.api index 3ede61b58be..f5bf220d7fb 100644 --- a/arrow-libs/fx/arrow-collectors/api/arrow-collectors.api +++ b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.api @@ -34,6 +34,7 @@ public abstract interface class arrow/collectors/CollectorI { public abstract fun contramap (Lkotlin/jvm/functions/Function2;)Larrow/collectors/CollectorI; public abstract fun finish (Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun getCharacteristics ()Ljava/util/Set; + public abstract fun has ([Larrow/collectors/Characteristics;)Z public abstract fun map (Lkotlin/jvm/functions/Function2;)Larrow/collectors/CollectorI; public abstract fun supply (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun zip (Larrow/collectors/CollectorI;)Larrow/collectors/CollectorI; @@ -49,6 +50,7 @@ public final class arrow/collectors/CollectorI$Companion { public final class arrow/collectors/CollectorI$DefaultImpls { public static fun contramap (Larrow/collectors/CollectorI;Lkotlin/jvm/functions/Function2;)Larrow/collectors/CollectorI; + public static fun has (Larrow/collectors/CollectorI;[Larrow/collectors/Characteristics;)Z public static fun map (Larrow/collectors/CollectorI;Lkotlin/jvm/functions/Function2;)Larrow/collectors/CollectorI; public static fun zip (Larrow/collectors/CollectorI;Larrow/collectors/CollectorI;)Larrow/collectors/CollectorI; public static fun zip (Larrow/collectors/CollectorI;Larrow/collectors/CollectorI;Lkotlin/jvm/functions/Function3;)Larrow/collectors/CollectorI; @@ -98,6 +100,7 @@ public final class arrow/collectors/NonSuspendCollectorI$DefaultImpls { public static fun contramap (Larrow/collectors/NonSuspendCollectorI;Lkotlin/jvm/functions/Function2;)Larrow/collectors/CollectorI; public static fun contramapNonSuspend (Larrow/collectors/NonSuspendCollectorI;Lkotlin/jvm/functions/Function1;)Larrow/collectors/NonSuspendCollectorI; public static fun finish (Larrow/collectors/NonSuspendCollectorI;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun has (Larrow/collectors/NonSuspendCollectorI;[Larrow/collectors/Characteristics;)Z public static fun map (Larrow/collectors/NonSuspendCollectorI;Lkotlin/jvm/functions/Function2;)Larrow/collectors/CollectorI; public static fun mapNonSuspend (Larrow/collectors/NonSuspendCollectorI;Lkotlin/jvm/functions/Function1;)Larrow/collectors/NonSuspendCollectorI; public static fun supply (Larrow/collectors/NonSuspendCollectorI;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; diff --git a/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api new file mode 100644 index 00000000000..9765d7bb53c --- /dev/null +++ b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api @@ -0,0 +1,91 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final enum class arrow.collectors/Characteristics : kotlin/Enum { // arrow.collectors/Characteristics|null[0] + enum entry CONCURRENT // arrow.collectors/Characteristics.CONCURRENT|null[0] + enum entry IDENTITY_FINISH // arrow.collectors/Characteristics.IDENTITY_FINISH|null[0] + enum entry UNORDERED // arrow.collectors/Characteristics.UNORDERED|null[0] + + final val entries // arrow.collectors/Characteristics.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // arrow.collectors/Characteristics.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): arrow.collectors/Characteristics // arrow.collectors/Characteristics.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // arrow.collectors/Characteristics.values|values#static(){}[0] + + final object Companion { // arrow.collectors/Characteristics.Companion|null[0] + final val CONCURRENT_UNORDERED // arrow.collectors/Characteristics.Companion.CONCURRENT_UNORDERED|{}CONCURRENT_UNORDERED[0] + final fun (): kotlin.collections/Set // arrow.collectors/Characteristics.Companion.CONCURRENT_UNORDERED.|(){}[0] + final val IDENTITY // arrow.collectors/Characteristics.Companion.IDENTITY|{}IDENTITY[0] + final fun (): kotlin.collections/Set // arrow.collectors/Characteristics.Companion.IDENTITY.|(){}[0] + final val IDENTITY_CONCURRENT // arrow.collectors/Characteristics.Companion.IDENTITY_CONCURRENT|{}IDENTITY_CONCURRENT[0] + final fun (): kotlin.collections/Set // arrow.collectors/Characteristics.Companion.IDENTITY_CONCURRENT.|(){}[0] + final val IDENTITY_CONCURRENT_UNORDERED // arrow.collectors/Characteristics.Companion.IDENTITY_CONCURRENT_UNORDERED|{}IDENTITY_CONCURRENT_UNORDERED[0] + final fun (): kotlin.collections/Set // arrow.collectors/Characteristics.Companion.IDENTITY_CONCURRENT_UNORDERED.|(){}[0] + final val IDENTITY_UNORDERED // arrow.collectors/Characteristics.Companion.IDENTITY_UNORDERED|{}IDENTITY_UNORDERED[0] + final fun (): kotlin.collections/Set // arrow.collectors/Characteristics.Companion.IDENTITY_UNORDERED.|(){}[0] + } +} + +abstract interface <#A: kotlin/Any?, #B: in kotlin/Any?, #C: out kotlin/Any?> arrow.collectors/CollectorI { // arrow.collectors/CollectorI|null[0] + abstract val characteristics // arrow.collectors/CollectorI.characteristics|{}characteristics[0] + abstract fun (): kotlin.collections/Set // arrow.collectors/CollectorI.characteristics.|(){}[0] + + abstract suspend fun accumulate(#A, #B) // arrow.collectors/CollectorI.accumulate|accumulate(1:0;1:1){}[0] + abstract suspend fun finish(#A): #C // arrow.collectors/CollectorI.finish|finish(1:0){}[0] + abstract suspend fun supply(): #A // arrow.collectors/CollectorI.supply|supply(){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> zip(arrow.collectors/CollectorI<#A1, #B, #B1>, kotlin.coroutines/SuspendFunction2<#C, #B1, #C1>): arrow.collectors/CollectorI<*, #B, #C1> // arrow.collectors/CollectorI.zip|zip(arrow.collectors.CollectorI<0:0,1:1,0:1>;kotlin.coroutines.SuspendFunction2<1:2,0:1,0:2>){0§;1§;2§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> zip(arrow.collectors/CollectorI<#A1, #B, #B1>): arrow.collectors/CollectorI<*, #B, kotlin/Pair<#C, #B1>> // arrow.collectors/CollectorI.zip|zip(arrow.collectors.CollectorI<0:0,1:1,0:1>){0§;1§}[0] + open fun <#A1: kotlin/Any?> contramap(kotlin.coroutines/SuspendFunction1<#A1, #B>): arrow.collectors/CollectorI<*, #A1, #C> // arrow.collectors/CollectorI.contramap|contramap(kotlin.coroutines.SuspendFunction1<0:0,1:1>){0§}[0] + open fun <#A1: kotlin/Any?> map(kotlin.coroutines/SuspendFunction1<#C, #A1>): arrow.collectors/CollectorI<*, #B, #A1> // arrow.collectors/CollectorI.map|map(kotlin.coroutines.SuspendFunction1<1:2,0:0>){0§}[0] + open fun has(kotlin/Array...): kotlin/Boolean // arrow.collectors/CollectorI.has|has(kotlin.Array...){}[0] + + final object Companion { // arrow.collectors/CollectorI.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> nonSuspendOf(kotlin/Function0<#A2>, kotlin/Function2<#A2, #B2, kotlin/Unit>, kotlin/Function1<#A2, #C2>, kotlin.collections/Set = ...): arrow.collectors/NonSuspendCollectorI<*, #B2, #C2> // arrow.collectors/CollectorI.Companion.nonSuspendOf|nonSuspendOf(kotlin.Function0<0:0>;kotlin.Function2<0:0,0:1,kotlin.Unit>;kotlin.Function1<0:0,0:2>;kotlin.collections.Set){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> of(kotlin.coroutines/SuspendFunction0<#A2>, kotlin.coroutines/SuspendFunction2<#A2, #B2, kotlin/Unit>, kotlin.coroutines/SuspendFunction1<#A2, #C2>, kotlin.collections/Set = ...): arrow.collectors/CollectorI<*, #B2, #C2> // arrow.collectors/CollectorI.Companion.of|of(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction2<0:0,0:1,kotlin.Unit>;kotlin.coroutines.SuspendFunction1<0:0,0:2>;kotlin.collections.Set){0§;1§;2§}[0] + } +} + +abstract interface <#A: kotlin/Any?, #B: in kotlin/Any?, #C: out kotlin/Any?> arrow.collectors/NonSuspendCollectorI : arrow.collectors/CollectorI<#A, #B, #C> { // arrow.collectors/NonSuspendCollectorI|null[0] + abstract fun accumulateNonSuspend(#A, #B) // arrow.collectors/NonSuspendCollectorI.accumulateNonSuspend|accumulateNonSuspend(1:0;1:1){}[0] + abstract fun finishNonSuspend(#A): #C // arrow.collectors/NonSuspendCollectorI.finishNonSuspend|finishNonSuspend(1:0){}[0] + abstract fun supplyNonSuspend(): #A // arrow.collectors/NonSuspendCollectorI.supplyNonSuspend|supplyNonSuspend(){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> zipNonSuspend(arrow.collectors/NonSuspendCollectorI<#A1, #B, #B1>, kotlin/Function2<#C, #B1, #C1>): arrow.collectors/NonSuspendCollectorI<*, #B, #C1> // arrow.collectors/NonSuspendCollectorI.zipNonSuspend|zipNonSuspend(arrow.collectors.NonSuspendCollectorI<0:0,1:1,0:1>;kotlin.Function2<1:2,0:1,0:2>){0§;1§;2§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> zip(arrow.collectors/NonSuspendCollectorI<#A1, #B, #B1>): arrow.collectors/NonSuspendCollectorI<*, #B, kotlin/Pair<#C, #B1>> // arrow.collectors/NonSuspendCollectorI.zip|zip(arrow.collectors.NonSuspendCollectorI<0:0,1:1,0:1>){0§;1§}[0] + open fun <#A1: kotlin/Any?> contramapNonSuspend(kotlin/Function1<#A1, #B>): arrow.collectors/NonSuspendCollectorI<*, #A1, #C> // arrow.collectors/NonSuspendCollectorI.contramapNonSuspend|contramapNonSuspend(kotlin.Function1<0:0,1:1>){0§}[0] + open fun <#A1: kotlin/Any?> mapNonSuspend(kotlin/Function1<#C, #A1>): arrow.collectors/NonSuspendCollectorI<*, #B, #A1> // arrow.collectors/NonSuspendCollectorI.mapNonSuspend|mapNonSuspend(kotlin.Function1<1:2,0:0>){0§}[0] + open suspend fun accumulate(#A, #B) // arrow.collectors/NonSuspendCollectorI.accumulate|accumulate(1:0;1:1){}[0] + open suspend fun finish(#A): #C // arrow.collectors/NonSuspendCollectorI.finish|finish(1:0){}[0] + open suspend fun supply(): #A // arrow.collectors/NonSuspendCollectorI.supply|supply(){}[0] +} + +final object arrow.collectors/Collectors { // arrow.collectors/Collectors|null[0] + final val length // arrow.collectors/Collectors.length|{}length[0] + final fun (): arrow.collectors/NonSuspendCollectorI<*, kotlin/Any?, kotlin/Int> // arrow.collectors/Collectors.length.|(){}[0] + final val sum // arrow.collectors/Collectors.sum|{}sum[0] + final fun (): arrow.collectors/NonSuspendCollectorI<*, kotlin/Int, kotlin/Int> // arrow.collectors/Collectors.sum.|(){}[0] + + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> map(): arrow.collectors/NonSuspendCollectorI<*, kotlin/Pair<#A1, #B1>, kotlin.collections/Map<#A1, #B1>> // arrow.collectors/Collectors.map|map(){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> mapFromEntries(): arrow.collectors/NonSuspendCollectorI<*, kotlin.collections/Map.Entry<#A1, #B1>, kotlin.collections/Map<#A1, #B1>> // arrow.collectors/Collectors.mapFromEntries|mapFromEntries(){0§;1§}[0] + final fun <#A1: kotlin/Any?> bestBy(kotlin/Function2<#A1, #A1, kotlin/Boolean>): arrow.collectors/NonSuspendCollectorI<*, #A1, #A1?> // arrow.collectors/Collectors.bestBy|bestBy(kotlin.Function2<0:0,0:0,kotlin.Boolean>){0§}[0] + final fun <#A1: kotlin/Any?> constant(#A1): arrow.collectors/NonSuspendCollectorI<*, kotlin/Any?, #A1> // arrow.collectors/Collectors.constant|constant(0:0){0§}[0] + final fun <#A1: kotlin/Any?> list(): arrow.collectors/NonSuspendCollectorI<*, #A1, kotlin.collections/List<#A1>> // arrow.collectors/Collectors.list|list(){0§}[0] + final fun <#A1: kotlin/Any?> reducer(kotlin/Function0<#A1>, kotlin/Function2<#A1, #A1, #A1>, kotlin/Boolean = ...): arrow.collectors/NonSuspendCollectorI<*, #A1, #A1> // arrow.collectors/Collectors.reducer|reducer(kotlin.Function0<0:0>;kotlin.Function2<0:0,0:0,0:0>;kotlin.Boolean){0§}[0] + final fun <#A1: kotlin/Any?> set(): arrow.collectors/NonSuspendCollectorI<*, #A1, kotlin.collections/Set<#A1>> // arrow.collectors/Collectors.set|set(){0§}[0] + final fun intReducer(kotlin/Function0, kotlin/Function2): arrow.collectors/NonSuspendCollectorI<*, kotlin/Int, kotlin/Int> // arrow.collectors/Collectors.intReducer|intReducer(kotlin.Function0;kotlin.Function2){}[0] +} + +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> arrow.collectors/zip(arrow.collectors/CollectorI<*, #A, #B>, arrow.collectors/CollectorI<*, #A, #C>, arrow.collectors/CollectorI<*, #A, #D>, kotlin.coroutines/SuspendFunction3<#B, #C, #D, #E>): arrow.collectors/CollectorI<*, #A, #E> // arrow.collectors/zip|zip(arrow.collectors.CollectorI<*,0:0,0:1>;arrow.collectors.CollectorI<*,0:0,0:2>;arrow.collectors.CollectorI<*,0:0,0:3>;kotlin.coroutines.SuspendFunction3<0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> arrow.collectors/zip(arrow.collectors/NonSuspendCollectorI<*, #A, #B>, arrow.collectors/NonSuspendCollectorI<*, #A, #C>, arrow.collectors/NonSuspendCollectorI<*, #A, #D>, kotlin/Function3<#B, #C, #D, #E>): arrow.collectors/NonSuspendCollectorI<*, #A, #E> // arrow.collectors/zip|zip(arrow.collectors.NonSuspendCollectorI<*,0:0,0:1>;arrow.collectors.NonSuspendCollectorI<*,0:0,0:2>;arrow.collectors.NonSuspendCollectorI<*,0:0,0:3>;kotlin.Function3<0:1,0:2,0:3,0:4>){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.collectors/zip(arrow.collectors/CollectorI<*, #A, #B>, arrow.collectors/CollectorI<*, #A, #C>, kotlin.coroutines/SuspendFunction2<#B, #C, #D>): arrow.collectors/CollectorI<*, #A, #D> // arrow.collectors/zip|zip(arrow.collectors.CollectorI<*,0:0,0:1>;arrow.collectors.CollectorI<*,0:0,0:2>;kotlin.coroutines.SuspendFunction2<0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.collectors/zip(arrow.collectors/NonSuspendCollectorI<*, #A, #B>, arrow.collectors/NonSuspendCollectorI<*, #A, #C>, kotlin/Function2<#B, #C, #D>): arrow.collectors/NonSuspendCollectorI<*, #A, #D> // arrow.collectors/zip|zip(arrow.collectors.NonSuspendCollectorI<*,0:0,0:1>;arrow.collectors.NonSuspendCollectorI<*,0:0,0:2>;kotlin.Function2<0:1,0:2,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.collectors/collect(arrow.collectors/NonSuspendCollectorI<*, #A, #B>): #B // arrow.collectors/collect|collect@kotlin.collections.Iterable<0:0>(arrow.collectors.NonSuspendCollectorI<*,0:0,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterator<#A>).arrow.collectors/collect(arrow.collectors/NonSuspendCollectorI<*, #A, #B>): #B // arrow.collectors/collect|collect@kotlin.collections.Iterator<0:0>(arrow.collectors.NonSuspendCollectorI<*,0:0,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.collectors/collect(arrow.collectors/NonSuspendCollectorI<*, #A, #B>): #B // arrow.collectors/collect|collect@kotlin.sequences.Sequence<0:0>(arrow.collectors.NonSuspendCollectorI<*,0:0,0:1>){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.collectors/parCollect(arrow.collectors/CollectorI<*, #A, #B>, kotlin/Int = ...): #B // arrow.collectors/parCollect|parCollect@kotlin.collections.Iterable<0:0>(arrow.collectors.CollectorI<*,0:0,0:1>;kotlin.Int){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.sequences/Sequence<#A>).arrow.collectors/parCollect(arrow.collectors/CollectorI<*, #A, #B>, kotlin/Int = ...): #B // arrow.collectors/parCollect|parCollect@kotlin.sequences.Sequence<0:0>(arrow.collectors.CollectorI<*,0:0,0:1>;kotlin.Int){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.collectors/collect(arrow.collectors/CollectorI<*, #A, #B>, kotlin/Int = ...): #B // arrow.collectors/collect|collect@kotlinx.coroutines.flow.Flow<0:0>(arrow.collectors.CollectorI<*,0:0,0:1>;kotlin.Int){0§;1§}[0] diff --git a/arrow-libs/fx/arrow-collectors/build.gradle.kts b/arrow-libs/fx/arrow-collectors/build.gradle.kts index 98bd245dbbe..cd714dfd748 100644 --- a/arrow-libs/fx/arrow-collectors/build.gradle.kts +++ b/arrow-libs/fx/arrow-collectors/build.gradle.kts @@ -1,11 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import java.time.Duration plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.spotless) alias(libs.plugins.kotlinx.kover) } @@ -58,6 +60,12 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType { diff --git a/arrow-libs/fx/arrow-collectors/gradle.properties b/arrow-libs/fx/arrow-collectors/gradle.properties index 204dd6f3804..96bf97f2c02 100644 --- a/arrow-libs/fx/arrow-collectors/gradle.properties +++ b/arrow-libs/fx/arrow-collectors/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Collectors +POM_NAME=Arrow Collectors # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collect.kt b/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collect.kt index 2c4ea47f2e6..68e39495526 100644 --- a/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collect.kt +++ b/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collect.kt @@ -9,7 +9,6 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.map -import kotlinx.coroutines.flow.onCompletion import kotlinx.coroutines.flow.onStart /** @@ -115,22 +114,20 @@ internal suspend fun Flow.collectI( concurrency: Int = DEFAULT_CONCURRENCY, ): R { var accumulator: A - val started = this.onStart { accumulator = collector.supply() } - val continued = when { - Characteristics.CONCURRENT in collector.characteristics -> when { - Characteristics.UNORDERED in collector.characteristics -> - started.parMapUnordered(concurrency) { collector.accumulate(accumulator, it) } - else -> - started.parMap(concurrency) { collector.accumulate(accumulator, it) } - } + val started = this.onStart { accumulator = collector.supply() } + val continued = when { + collector.has(Characteristics.CONCURRENT, Characteristics.UNORDERED) -> + started.parMapUnordered(concurrency) { collector.accumulate(accumulator, it) } + collector.has(Characteristics.CONCURRENT) -> + started.parMap(concurrency) { collector.accumulate(accumulator, it) } else -> started.map { collector.accumulate(accumulator, it) } } continued.collect() return when { - Characteristics.IDENTITY_FINISH in collector.characteristics -> accumulator as R + collector.has(Characteristics.IDENTITY_FINISH) -> accumulator as R else -> collector.finish(accumulator) } } @@ -142,7 +139,7 @@ internal fun Iterator.collectI( val accumulator = collector.supplyNonSuspend() forEach { collector.accumulateNonSuspend(accumulator, it) } return when { - Characteristics.IDENTITY_FINISH in collector.characteristics -> accumulator as R + collector.has(Characteristics.IDENTITY_FINISH) -> accumulator as R else -> collector.finishNonSuspend(accumulator) } } diff --git a/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collector.kt b/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collector.kt index 9d5038c2623..c2943af4e8b 100644 --- a/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collector.kt +++ b/arrow-libs/fx/arrow-collectors/src/commonMain/kotlin/arrow/collectors/Collector.kt @@ -47,6 +47,7 @@ public typealias NonSuspendCollector = NonSuspendCollectorI<*, Va */ public interface CollectorI { public val characteristics: Set + public fun has(vararg ch: Characteristics): Boolean = ch.all { it in characteristics } public suspend fun supply(): InternalAccumulator public suspend fun accumulate(current: InternalAccumulator, value: Value) public suspend fun finish(current: InternalAccumulator): Result diff --git a/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.api b/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.api index 3cb534e5b48..d216d146b3a 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.api +++ b/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.api @@ -257,10 +257,6 @@ public abstract interface annotation class arrow/fx/coroutines/ResourceDSL : jav } public final class arrow/fx/coroutines/ResourceExtensionsKt { - public static final fun autoCloseable (Larrow/fx/coroutines/ResourceScope;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun autoCloseable (Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function2; - public static synthetic fun autoCloseable$default (Larrow/fx/coroutines/ResourceScope;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; - public static synthetic fun autoCloseable$default (Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function2; public static final fun closeable (Larrow/fx/coroutines/ResourceScope;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun closeable (Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function2; public static synthetic fun closeable$default (Larrow/fx/coroutines/ResourceScope;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; @@ -278,6 +274,10 @@ public final class arrow/fx/coroutines/ResourceExtensionsKt { public final class arrow/fx/coroutines/ResourceKt { public static final fun allocated (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun asFlow (Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/flow/Flow; + public static final fun autoCloseable (Larrow/fx/coroutines/ResourceScope;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun autoCloseable (Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function2; + public static synthetic fun autoCloseable$default (Larrow/fx/coroutines/ResourceScope;Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun autoCloseable$default (Lkotlinx/coroutines/CoroutineDispatcher;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/jvm/functions/Function2; public static final fun resource (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;)Lkotlin/jvm/functions/Function2; public static final fun resource (Lkotlin/jvm/functions/Function2;)Lkotlin/jvm/functions/Function2; public static final fun resourceScope (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -307,3 +307,18 @@ public final class arrow/fx/coroutines/ScopedRaiseAccumulate : arrow/core/raise/ public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; } +public final class arrow/fx/coroutines/await/AwaitAllScope : kotlinx/coroutines/CoroutineScope { + public fun (Lkotlinx/coroutines/CoroutineScope;)V + public final fun async (Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;)Lkotlinx/coroutines/Deferred; + public static synthetic fun async$default (Larrow/fx/coroutines/await/AwaitAllScope;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lkotlinx/coroutines/Deferred; + public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext; +} + +public final class arrow/fx/coroutines/await/AwaitAllScopeKt { + public static final fun awaitAll (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun awaitAll (Lkotlinx/coroutines/CoroutineScope;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public abstract interface annotation class arrow/fx/coroutines/await/ExperimentalAwaitAllApi : java/lang/annotation/Annotation { +} + diff --git a/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.klib.api b/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.klib.api new file mode 100644 index 00000000000..e77804743fe --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.klib.api @@ -0,0 +1,233 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +open annotation class arrow.fx.coroutines.await/ExperimentalAwaitAllApi : kotlin/Annotation { // arrow.fx.coroutines.await/ExperimentalAwaitAllApi|null[0] + constructor () // arrow.fx.coroutines.await/ExperimentalAwaitAllApi.|(){}[0] +} + +open annotation class arrow.fx.coroutines/ResourceDSL : kotlin/Annotation { // arrow.fx.coroutines/ResourceDSL|null[0] + constructor () // arrow.fx.coroutines/ResourceDSL.|(){}[0] +} + +open annotation class arrow.fx.coroutines/ScopeDSL : kotlin/Annotation { // arrow.fx.coroutines/ScopeDSL|null[0] + constructor () // arrow.fx.coroutines/ScopeDSL.|(){}[0] +} + +abstract interface arrow.fx.coroutines/ResourceScope : arrow/AutoCloseScope { // arrow.fx.coroutines/ResourceScope|null[0] + abstract suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).bind(): #A1 // arrow.fx.coroutines/ResourceScope.bind|bind@kotlin.coroutines.SuspendFunction1(){0§}[0] + abstract suspend fun <#A1: kotlin/Any?> install(kotlin.coroutines/SuspendFunction1, kotlin.coroutines/SuspendFunction2<#A1, arrow.fx.coroutines/ExitCase, kotlin/Unit>): #A1 // arrow.fx.coroutines/ResourceScope.install|install(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction2<0:0,arrow.fx.coroutines.ExitCase,kotlin.Unit>){0§}[0] + open suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).release(kotlin.coroutines/SuspendFunction1<#A1, kotlin/Unit>): #A1 // arrow.fx.coroutines/ResourceScope.release|release@kotlin.coroutines.SuspendFunction1(kotlin.coroutines.SuspendFunction1<0:0,kotlin.Unit>){0§}[0] + open suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).releaseCase(kotlin.coroutines/SuspendFunction2<#A1, arrow.fx.coroutines/ExitCase, kotlin/Unit>): #A1 // arrow.fx.coroutines/ResourceScope.releaseCase|releaseCase@kotlin.coroutines.SuspendFunction1(kotlin.coroutines.SuspendFunction2<0:0,arrow.fx.coroutines.ExitCase,kotlin.Unit>){0§}[0] + open suspend fun onRelease(kotlin.coroutines/SuspendFunction1) // arrow.fx.coroutines/ResourceScope.onRelease|onRelease(kotlin.coroutines.SuspendFunction1){}[0] +} + +final class <#A: kotlin/Any?> arrow.fx.coroutines/ScopedRaiseAccumulate : arrow.core.raise/RaiseAccumulate<#A>, kotlinx.coroutines/CoroutineScope { // arrow.fx.coroutines/ScopedRaiseAccumulate|null[0] + constructor (arrow.core.raise/Raise>, kotlinx.coroutines/CoroutineScope) // arrow.fx.coroutines/ScopedRaiseAccumulate.|(arrow.core.raise.Raise>;kotlinx.coroutines.CoroutineScope){}[0] + + final val coroutineContext // arrow.fx.coroutines/ScopedRaiseAccumulate.coroutineContext|{}coroutineContext[0] + final fun (): kotlin.coroutines/CoroutineContext // arrow.fx.coroutines/ScopedRaiseAccumulate.coroutineContext.|(){}[0] +} + +final class arrow.fx.coroutines.await/AwaitAllScope : kotlinx.coroutines/CoroutineScope { // arrow.fx.coroutines.await/AwaitAllScope|null[0] + constructor (kotlinx.coroutines/CoroutineScope) // arrow.fx.coroutines.await/AwaitAllScope.|(kotlinx.coroutines.CoroutineScope){}[0] + + final val coroutineContext // arrow.fx.coroutines.await/AwaitAllScope.coroutineContext|{}coroutineContext[0] + final fun (): kotlin.coroutines/CoroutineContext // arrow.fx.coroutines.await/AwaitAllScope.coroutineContext.|(){}[0] + + final fun <#A1: kotlin/Any?> async(kotlin.coroutines/CoroutineContext = ..., kotlinx.coroutines/CoroutineStart = ..., kotlin.coroutines/SuspendFunction1): kotlinx.coroutines/Deferred<#A1> // arrow.fx.coroutines.await/AwaitAllScope.async|async(kotlin.coroutines.CoroutineContext;kotlinx.coroutines.CoroutineStart;kotlin.coroutines.SuspendFunction1){0§}[0] +} + +final class arrow.fx.coroutines/CountDownLatch { // arrow.fx.coroutines/CountDownLatch|null[0] + constructor (kotlin/Long) // arrow.fx.coroutines/CountDownLatch.|(kotlin.Long){}[0] + + final fun count(): kotlin/Long // arrow.fx.coroutines/CountDownLatch.count|count(){}[0] + final fun countDown() // arrow.fx.coroutines/CountDownLatch.countDown|countDown(){}[0] + final suspend fun await() // arrow.fx.coroutines/CountDownLatch.await|await(){}[0] +} + +final class arrow.fx.coroutines/CyclicBarrier { // arrow.fx.coroutines/CyclicBarrier|null[0] + constructor (kotlin/Int, kotlin/Function0 = ...) // arrow.fx.coroutines/CyclicBarrier.|(kotlin.Int;kotlin.Function0){}[0] + + final val capacity // arrow.fx.coroutines/CyclicBarrier.capacity|{}capacity[0] + final fun (): kotlin/Int // arrow.fx.coroutines/CyclicBarrier.capacity.|(){}[0] + + final suspend fun await() // arrow.fx.coroutines/CyclicBarrier.await|await(){}[0] + final suspend fun reset() // arrow.fx.coroutines/CyclicBarrier.reset|reset(){}[0] +} + +final class arrow.fx.coroutines/CyclicBarrierCancellationException : kotlin.coroutines.cancellation/CancellationException { // arrow.fx.coroutines/CyclicBarrierCancellationException|null[0] + constructor () // arrow.fx.coroutines/CyclicBarrierCancellationException.|(){}[0] +} + +sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?> arrow.fx.coroutines/Race3 { // arrow.fx.coroutines/Race3|null[0] + final inline fun <#A1: kotlin/Any?> fold(kotlin/Function1<#A, #A1>, kotlin/Function1<#B, #A1>, kotlin/Function1<#C, #A1>): #A1 // arrow.fx.coroutines/Race3.fold|fold(kotlin.Function1<1:0,0:0>;kotlin.Function1<1:1,0:0>;kotlin.Function1<1:2,0:0>){0§}[0] + + final class <#A1: kotlin/Any?> First : arrow.fx.coroutines/Race3<#A1, kotlin/Nothing, kotlin/Nothing> { // arrow.fx.coroutines/Race3.First|null[0] + constructor (#A1) // arrow.fx.coroutines/Race3.First.|(1:0){}[0] + + final val winner // arrow.fx.coroutines/Race3.First.winner|{}winner[0] + final fun (): #A1 // arrow.fx.coroutines/Race3.First.winner.|(){}[0] + + final fun component1(): #A1 // arrow.fx.coroutines/Race3.First.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.fx.coroutines/Race3.First<#A1> // arrow.fx.coroutines/Race3.First.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.coroutines/Race3.First.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.coroutines/Race3.First.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.coroutines/Race3.First.toString|toString(){}[0] + } + + final class <#A1: kotlin/Any?> Second : arrow.fx.coroutines/Race3 { // arrow.fx.coroutines/Race3.Second|null[0] + constructor (#A1) // arrow.fx.coroutines/Race3.Second.|(1:0){}[0] + + final val winner // arrow.fx.coroutines/Race3.Second.winner|{}winner[0] + final fun (): #A1 // arrow.fx.coroutines/Race3.Second.winner.|(){}[0] + + final fun component1(): #A1 // arrow.fx.coroutines/Race3.Second.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.fx.coroutines/Race3.Second<#A1> // arrow.fx.coroutines/Race3.Second.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.coroutines/Race3.Second.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.coroutines/Race3.Second.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.coroutines/Race3.Second.toString|toString(){}[0] + } + + final class <#A1: kotlin/Any?> Third : arrow.fx.coroutines/Race3 { // arrow.fx.coroutines/Race3.Third|null[0] + constructor (#A1) // arrow.fx.coroutines/Race3.Third.|(1:0){}[0] + + final val winner // arrow.fx.coroutines/Race3.Third.winner|{}winner[0] + final fun (): #A1 // arrow.fx.coroutines/Race3.Third.winner.|(){}[0] + + final fun component1(): #A1 // arrow.fx.coroutines/Race3.Third.component1|component1(){}[0] + final fun copy(#A1 = ...): arrow.fx.coroutines/Race3.Third<#A1> // arrow.fx.coroutines/Race3.Third.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.coroutines/Race3.Third.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.coroutines/Race3.Third.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.coroutines/Race3.Third.toString|toString(){}[0] + } +} + +sealed class arrow.fx.coroutines/ExitCase { // arrow.fx.coroutines/ExitCase|null[0] + final class Cancelled : arrow.fx.coroutines/ExitCase { // arrow.fx.coroutines/ExitCase.Cancelled|null[0] + constructor (kotlin.coroutines.cancellation/CancellationException) // arrow.fx.coroutines/ExitCase.Cancelled.|(kotlin.coroutines.cancellation.CancellationException){}[0] + + final val exception // arrow.fx.coroutines/ExitCase.Cancelled.exception|{}exception[0] + final fun (): kotlin.coroutines.cancellation/CancellationException // arrow.fx.coroutines/ExitCase.Cancelled.exception.|(){}[0] + + final fun component1(): kotlin.coroutines.cancellation/CancellationException // arrow.fx.coroutines/ExitCase.Cancelled.component1|component1(){}[0] + final fun copy(kotlin.coroutines.cancellation/CancellationException = ...): arrow.fx.coroutines/ExitCase.Cancelled // arrow.fx.coroutines/ExitCase.Cancelled.copy|copy(kotlin.coroutines.cancellation.CancellationException){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.coroutines/ExitCase.Cancelled.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.coroutines/ExitCase.Cancelled.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.coroutines/ExitCase.Cancelled.toString|toString(){}[0] + } + + final class Failure : arrow.fx.coroutines/ExitCase { // arrow.fx.coroutines/ExitCase.Failure|null[0] + constructor (kotlin/Throwable) // arrow.fx.coroutines/ExitCase.Failure.|(kotlin.Throwable){}[0] + + final val failure // arrow.fx.coroutines/ExitCase.Failure.failure|{}failure[0] + final fun (): kotlin/Throwable // arrow.fx.coroutines/ExitCase.Failure.failure.|(){}[0] + + final fun component1(): kotlin/Throwable // arrow.fx.coroutines/ExitCase.Failure.component1|component1(){}[0] + final fun copy(kotlin/Throwable = ...): arrow.fx.coroutines/ExitCase.Failure // arrow.fx.coroutines/ExitCase.Failure.copy|copy(kotlin.Throwable){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.coroutines/ExitCase.Failure.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.coroutines/ExitCase.Failure.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.coroutines/ExitCase.Failure.toString|toString(){}[0] + } + + final object Companion { // arrow.fx.coroutines/ExitCase.Companion|null[0] + final fun ExitCase(kotlin/Throwable): arrow.fx.coroutines/ExitCase // arrow.fx.coroutines/ExitCase.Companion.ExitCase|ExitCase(kotlin.Throwable){}[0] + } + + final object Completed : arrow.fx.coroutines/ExitCase { // arrow.fx.coroutines/ExitCase.Completed|null[0] + final fun toString(): kotlin/String // arrow.fx.coroutines/ExitCase.Completed.toString|toString(){}[0] + } +} + +final object arrow.fx.coroutines/AcquireStep // arrow.fx.coroutines/AcquireStep|null[0] + +final fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).arrow.fx.coroutines/asFlow(): kotlinx.coroutines.flow/Flow<#A> // arrow.fx.coroutines/asFlow|asFlow@kotlin.coroutines.SuspendFunction1(){0§}[0] +final fun <#A: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutines/metered(kotlin.time/Duration): kotlinx.coroutines.flow/Flow<#A> // arrow.fx.coroutines/metered|metered@kotlinx.coroutines.flow.Flow<0:0>(kotlin.time.Duration){0§}[0] +final fun <#A: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutines/metered(kotlin/Long): kotlinx.coroutines.flow/Flow<#A> // arrow.fx.coroutines/metered|metered@kotlinx.coroutines.flow.Flow<0:0>(kotlin.Long){0§}[0] +final fun <#A: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutines/repeat(): kotlinx.coroutines.flow/Flow<#A> // arrow.fx.coroutines/repeat|repeat@kotlinx.coroutines.flow.Flow<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> arrow.fx.coroutines/resource(kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction2<#A, arrow.fx.coroutines/ExitCase, kotlin/Unit>): kotlin.coroutines/SuspendFunction1 // arrow.fx.coroutines/resource|resource(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction2<0:0,arrow.fx.coroutines.ExitCase,kotlin.Unit>){0§}[0] +final fun <#A: kotlin/Any?> arrow.fx.coroutines/resource(kotlin.coroutines/SuspendFunction1): kotlin.coroutines/SuspendFunction1 // arrow.fx.coroutines/resource|resource(kotlin.coroutines.SuspendFunction1){0§}[0] +final fun <#A: kotlin/AutoCloseable> arrow.fx.coroutines/autoCloseable(kotlinx.coroutines/CoroutineDispatcher = ..., kotlin.coroutines/SuspendFunction0<#A>): kotlin.coroutines/SuspendFunction1 // arrow.fx.coroutines/autoCloseable|autoCloseable(kotlinx.coroutines.CoroutineDispatcher;kotlin.coroutines.SuspendFunction0<0:0>){0§}[0] +final fun arrow.fx.coroutines/fixedRate(kotlin.time/Duration, kotlin/Boolean = ..., kotlin/Function0 = ...): kotlinx.coroutines.flow/Flow // arrow.fx.coroutines/fixedRate|fixedRate(kotlin.time.Duration;kotlin.Boolean;kotlin.Function0){}[0] +final fun arrow.fx.coroutines/fixedRate(kotlin/Long, kotlin/Boolean = ..., kotlin/Function0 = ...): kotlinx.coroutines.flow/Flow // arrow.fx.coroutines/fixedRate|fixedRate(kotlin.Long;kotlin.Boolean;kotlin.Function0){}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutines/mapIndexed(crossinline kotlin.coroutines/SuspendFunction2): kotlinx.coroutines.flow/Flow<#B> // arrow.fx.coroutines/mapIndexed|mapIndexed@kotlinx.coroutines.flow.Flow<0:0>(kotlin.coroutines.SuspendFunction2){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutines/parMap(kotlin/Int = ..., crossinline kotlin.coroutines/SuspendFunction2): kotlinx.coroutines.flow/Flow<#B> // arrow.fx.coroutines/parMap|parMap@kotlinx.coroutines.flow.Flow<0:0>(kotlin.Int;kotlin.coroutines.SuspendFunction2){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutines/parMapNotNullUnordered(kotlin/Int = ..., crossinline kotlin.coroutines/SuspendFunction1<#A, #B?>): kotlinx.coroutines.flow/Flow<#B> // arrow.fx.coroutines/parMapNotNullUnordered|parMapNotNullUnordered@kotlinx.coroutines.flow.Flow<0:0>(kotlin.Int;kotlin.coroutines.SuspendFunction1<0:0,0:1?>){0§;1§}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutines/parMapUnordered(kotlin/Int = ..., crossinline kotlin.coroutines/SuspendFunction1<#A, #B>): kotlinx.coroutines.flow/Flow<#B> // arrow.fx.coroutines/parMapUnordered|parMapUnordered@kotlinx.coroutines.flow.Flow<0:0>(kotlin.Int;kotlin.coroutines.SuspendFunction1<0:0,0:1>){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#B>).arrow.fx.coroutines/parMapOrAccumulate(kotlin.coroutines/CoroutineContext = ..., kotlin.coroutines/SuspendFunction2, #B, #C>): arrow.core/Either, kotlin.collections/List<#C>> // arrow.fx.coroutines/parMapOrAccumulate|parMapOrAccumulate@kotlin.collections.Iterable<0:1>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction2,0:1,0:2>){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#B>).arrow.fx.coroutines/parMapOrAccumulate(kotlin.coroutines/CoroutineContext = ..., kotlin/Function2<#A, #A, #A>, kotlin.coroutines/SuspendFunction2, #B, #C>): arrow.core/Either<#A, kotlin.collections/List<#C>> // arrow.fx.coroutines/parMapOrAccumulate|parMapOrAccumulate@kotlin.collections.Iterable<0:1>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction2,0:1,0:2>){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#B>).arrow.fx.coroutines/parMapOrAccumulate(kotlin.coroutines/CoroutineContext = ..., kotlin/Int, kotlin.coroutines/SuspendFunction2, #B, #C>): arrow.core/Either, kotlin.collections/List<#C>> // arrow.fx.coroutines/parMapOrAccumulate|parMapOrAccumulate@kotlin.collections.Iterable<0:1>(kotlin.coroutines.CoroutineContext;kotlin.Int;kotlin.coroutines.SuspendFunction2,0:1,0:2>){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.collections/Iterable<#B>).arrow.fx.coroutines/parMapOrAccumulate(kotlin.coroutines/CoroutineContext = ..., kotlin/Int, kotlin/Function2<#A, #A, #A>, kotlin.coroutines/SuspendFunction2, #B, #C>): arrow.core/Either<#A, kotlin.collections/List<#C>> // arrow.fx.coroutines/parMapOrAccumulate|parMapOrAccumulate@kotlin.collections.Iterable<0:1>(kotlin.coroutines.CoroutineContext;kotlin.Int;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction2,0:1,0:2>){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.fx.coroutines/parMap(kotlin.coroutines/CoroutineContext = ..., kotlin.coroutines/SuspendFunction2): kotlin.collections/List<#B> // arrow.fx.coroutines/parMap|parMap@kotlin.collections.Iterable<0:0>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction2){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.fx.coroutines/parMap(kotlin.coroutines/CoroutineContext = ..., kotlin/Int, kotlin.coroutines/SuspendFunction2): kotlin.collections/List<#B> // arrow.fx.coroutines/parMap|parMap@kotlin.collections.Iterable<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Int;kotlin.coroutines.SuspendFunction2){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.fx.coroutines/parMapNotNull(kotlin.coroutines/CoroutineContext = ..., kotlin.coroutines/SuspendFunction2): kotlin.collections/List<#B> // arrow.fx.coroutines/parMapNotNull|parMapNotNull@kotlin.collections.Iterable<0:0>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction2){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable<#A>).arrow.fx.coroutines/parMapNotNull(kotlin.coroutines/CoroutineContext = ..., kotlin/Int, kotlin.coroutines/SuspendFunction2): kotlin.collections/List<#B> // arrow.fx.coroutines/parMapNotNull|parMapNotNull@kotlin.collections.Iterable<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Int;kotlin.coroutines.SuspendFunction2){0§;1§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).arrow.fx.coroutines/use(kotlin.coroutines/SuspendFunction1<#A, #B>): #B // arrow.fx.coroutines/use|use@kotlin.coroutines.SuspendFunction1(kotlin.coroutines.SuspendFunction1<0:0,0:1>){0§;1§}[0] +final suspend fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).arrow.fx.coroutines/allocated(): kotlin/Pair<#A, kotlin.coroutines/SuspendFunction1> // arrow.fx.coroutines/allocated|allocated@kotlin.coroutines.SuspendFunction1(){0§}[0] +final suspend fun <#A: kotlin/Any?> (kotlinx.coroutines/CoroutineScope).arrow.fx.coroutines.await/awaitAll(kotlin.coroutines/SuspendFunction1): #A // arrow.fx.coroutines.await/awaitAll|awaitAll@kotlinx.coroutines.CoroutineScope(kotlin.coroutines.SuspendFunction1){0§}[0] +final suspend fun <#A: kotlin/Any?> arrow.fx.coroutines.await/awaitAll(kotlin.coroutines/SuspendFunction1): #A // arrow.fx.coroutines.await/awaitAll|awaitAll(kotlin.coroutines.SuspendFunction1){0§}[0] +final suspend fun <#A: kotlin/Any?> arrow.fx.coroutines/resourceScope(kotlin.coroutines/SuspendFunction1): #A // arrow.fx.coroutines/resourceScope|resourceScope(kotlin.coroutines.SuspendFunction1){0§}[0] +final suspend fun <#A: kotlin/AutoCloseable> (arrow.fx.coroutines/ResourceScope).arrow.fx.coroutines/autoCloseable(kotlinx.coroutines/CoroutineDispatcher = ..., kotlin.coroutines/SuspendFunction0<#A>): #A // arrow.fx.coroutines/autoCloseable|autoCloseable@arrow.fx.coroutines.ResourceScope(kotlinx.coroutines.CoroutineDispatcher;kotlin.coroutines.SuspendFunction0<0:0>){0§}[0] +final suspend fun arrow.fx.coroutines/cancelAndCompose(kotlinx.coroutines/Deferred<*>, kotlinx.coroutines/Deferred<*>) // arrow.fx.coroutines/cancelAndCompose|cancelAndCompose(kotlinx.coroutines.Deferred<*>;kotlinx.coroutines.Deferred<*>){}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction1, #J>, crossinline kotlin.coroutines/SuspendFunction10): #K // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction1,0:9>;kotlin.coroutines.SuspendFunction10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction1, #J>, crossinline kotlin.coroutines/SuspendFunction10): #K // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction1,0:9>;kotlin.coroutines.SuspendFunction10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction1, #J>, crossinline kotlin.coroutines/SuspendFunction10): #K // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction1,0:9>;kotlin.coroutines.SuspendFunction10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?, #K: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction1, #J>, crossinline kotlin.coroutines/SuspendFunction10): #K // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction1,0:9>;kotlin.coroutines.SuspendFunction10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§;10§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction9): #J // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction9): #J // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction9): #J // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction1, #I>, crossinline kotlin.coroutines/SuspendFunction9): #J // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction1,0:8>;kotlin.coroutines.SuspendFunction9){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction10): #J // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?, #J: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction10): #J // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction10){0§;1§;2§;3§;4§;5§;6§;7§;8§;9§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction8): #I // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction8){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction8): #I // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction8){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction8): #I // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction8){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction1, #H>, crossinline kotlin.coroutines/SuspendFunction8): #I // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction1,0:7>;kotlin.coroutines.SuspendFunction8){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction9): #I // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction9){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?, #I: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction9): #I // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction9){0§;1§;2§;3§;4§;5§;6§;7§;8§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction7): #H // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction7){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction7): #H // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction7){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction7): #H // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction7){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction1, #G>, crossinline kotlin.coroutines/SuspendFunction7): #H // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction1,0:6>;kotlin.coroutines.SuspendFunction7){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction8): #H // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction8){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?, #H: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction8): #H // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction8){0§;1§;2§;3§;4§;5§;6§;7§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction6): #G // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction6){0§;1§;2§;3§;4§;5§;6§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction6): #G // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction6){0§;1§;2§;3§;4§;5§;6§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction6): #G // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction6){0§;1§;2§;3§;4§;5§;6§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction1, #F>, crossinline kotlin.coroutines/SuspendFunction6): #G // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction1,0:5>;kotlin.coroutines.SuspendFunction6){0§;1§;2§;3§;4§;5§;6§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction7): #G // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction7){0§;1§;2§;3§;4§;5§;6§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?, #G: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction7): #G // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction7){0§;1§;2§;3§;4§;5§;6§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction5): #F // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction5){0§;1§;2§;3§;4§;5§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction5): #F // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction5){0§;1§;2§;3§;4§;5§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction5): #F // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction5){0§;1§;2§;3§;4§;5§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction1, #E>, crossinline kotlin.coroutines/SuspendFunction5): #F // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction1,0:4>;kotlin.coroutines.SuspendFunction5){0§;1§;2§;3§;4§;5§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction6): #F // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction6){0§;1§;2§;3§;4§;5§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction6): #F // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction6){0§;1§;2§;3§;4§;5§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction4): #E // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction4){0§;1§;2§;3§;4§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction4): #E // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction4){0§;1§;2§;3§;4§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction4): #E // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction4){0§;1§;2§;3§;4§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction1, #D>, crossinline kotlin.coroutines/SuspendFunction4): #E // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction1,0:3>;kotlin.coroutines.SuspendFunction4){0§;1§;2§;3§;4§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction5): #E // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction5){0§;1§;2§;3§;4§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction5): #E // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction5){0§;1§;2§;3§;4§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction3): #D // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction3){0§;1§;2§;3§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin/Function2<#A, #A, #A>, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction3): #D // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise<0:0>(kotlin.coroutines.CoroutineContext;kotlin.Function2<0:0,0:0,0:0>;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction3){0§;1§;2§;3§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction3): #D // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction3){0§;1§;2§;3§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.core.raise/Raise>).arrow.fx.coroutines/parZipOrAccumulate(kotlin.coroutines/CoroutineContext, crossinline kotlin.coroutines/SuspendFunction1, #B>, crossinline kotlin.coroutines/SuspendFunction1, #C>, crossinline kotlin.coroutines/SuspendFunction3): #D // arrow.fx.coroutines/parZipOrAccumulate|parZipOrAccumulate@arrow.core.raise.Raise>(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1,0:1>;kotlin.coroutines.SuspendFunction1,0:2>;kotlin.coroutines.SuspendFunction3){0§;1§;2§;3§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction4): #D // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction4){0§;1§;2§;3§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction4): #D // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction4){0§;1§;2§;3§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.fx.coroutines/parZip(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction3): #C // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction3){0§;1§;2§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.fx.coroutines/parZip(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction3): #C // arrow.fx.coroutines/parZip|parZip(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction3){0§;1§;2§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.fx.coroutines/raceN(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1): arrow.fx.coroutines/Race3<#A, #B, #C> // arrow.fx.coroutines/raceN|raceN(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1){0§;1§;2§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.fx.coroutines/raceN(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1): arrow.fx.coroutines/Race3<#A, #B, #C> // arrow.fx.coroutines/raceN|raceN(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1){0§;1§;2§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.coroutines/bracket(crossinline kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction1<#A, #B>, crossinline kotlin.coroutines/SuspendFunction1<#A, kotlin/Unit>): #B // arrow.fx.coroutines/bracket|bracket(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction1<0:0,0:1>;kotlin.coroutines.SuspendFunction1<0:0,kotlin.Unit>){0§;1§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.coroutines/bracketCase(crossinline kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction1<#A, #B>, crossinline kotlin.coroutines/SuspendFunction2<#A, arrow.fx.coroutines/ExitCase, kotlin/Unit>): #B // arrow.fx.coroutines/bracketCase|bracketCase(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction1<0:0,0:1>;kotlin.coroutines.SuspendFunction2<0:0,arrow.fx.coroutines.ExitCase,kotlin.Unit>){0§;1§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.coroutines/raceN(crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1): arrow.core/Either<#A, #B> // arrow.fx.coroutines/raceN|raceN(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1){0§;1§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.coroutines/raceN(kotlin.coroutines/CoroutineContext = ..., crossinline kotlin.coroutines/SuspendFunction1, crossinline kotlin.coroutines/SuspendFunction1): arrow.core/Either<#A, #B> // arrow.fx.coroutines/raceN|raceN(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1){0§;1§}[0] +final suspend inline fun <#A: kotlin/Any?> arrow.fx.coroutines/guarantee(kotlin.coroutines/SuspendFunction0<#A>, crossinline kotlin.coroutines/SuspendFunction0): #A // arrow.fx.coroutines/guarantee|guarantee(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction0){0§}[0] +final suspend inline fun <#A: kotlin/Any?> arrow.fx.coroutines/guaranteeCase(kotlin.coroutines/SuspendFunction0<#A>, crossinline kotlin.coroutines/SuspendFunction1): #A // arrow.fx.coroutines/guaranteeCase|guaranteeCase(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction1){0§}[0] +final suspend inline fun <#A: kotlin/Any?> arrow.fx.coroutines/onCancel(kotlin.coroutines/SuspendFunction0<#A>, crossinline kotlin.coroutines/SuspendFunction0): #A // arrow.fx.coroutines/onCancel|onCancel(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction0){0§}[0] +final suspend inline fun arrow.fx.coroutines/runReleaseAndRethrow(kotlin/Throwable, crossinline kotlin.coroutines/SuspendFunction0): kotlin/Nothing // arrow.fx.coroutines/runReleaseAndRethrow|runReleaseAndRethrow(kotlin.Throwable;kotlin.coroutines.SuspendFunction0){}[0] diff --git a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts index 07841a4ff60..0289ac1dc07 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts @@ -1,12 +1,14 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import java.time.Duration plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -31,6 +33,7 @@ kotlin { commonTest { dependencies { implementation(projects.arrowCore) + implementation(projects.arrowAtomic) implementation(libs.kotlin.test) implementation(libs.coroutines.test) implementation(libs.kotest.assertionsCore) @@ -64,6 +67,12 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/fx/arrow-fx-coroutines/gradle.properties b/arrow-libs/fx/arrow-fx-coroutines/gradle.properties index 5d283a136e2..ac7b73adc18 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/gradle.properties +++ b/arrow-libs/fx/arrow-fx-coroutines/gradle.properties @@ -1,2 +1,2 @@ # Maven publishing configuration -pom.name=Arrow-Fx-Coroutines +POM_NAME=Arrow-Fx-Coroutines diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/Resource.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/Resource.kt index 618b06634b8..5a92a363815 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/Resource.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/Resource.kt @@ -6,11 +6,8 @@ import arrow.atomic.Atomic import arrow.atomic.value import arrow.core.identity import arrow.core.prependTo -import arrow.fx.coroutines.ExitCase.Cancelled -import arrow.fx.coroutines.ExitCase.Companion.ExitCase -import arrow.fx.coroutines.ExitCase.Completed -import arrow.fx.coroutines.ExitCase.Failure import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.flow.Flow @@ -299,7 +296,7 @@ public interface ResourceScope : AutoCloseScope { public suspend fun Resource.bind(): A /** * Install [A] into the [ResourceScope]. - * It's [release] function will be called with the appropriate [ExitCase] if this [ResourceScope] finishes. + * Its [release] function will be called with the appropriate [ExitCase] if this [ResourceScope] finishes. * It results either in [ExitCase.Completed], [ExitCase.Cancelled] or [ExitCase.Failure] depending on the terminal state of [Resource] lambda. */ @ResourceDSL @@ -414,6 +411,7 @@ public fun resource( * import java.nio.file.Path * import kotlin.io.path.* * + * @OptIn(ExperimentalCoroutinesApi::class) * fun Flow.writeAll(path: Path): Flow = * closeable { path.toFile().outputStream() } * .asFlow() @@ -452,6 +450,7 @@ public fun Resource.asFlow(): Flow = * val resource = * resource({ "Acquire" }) { _, exitCase -> println("Release $exitCase") } * + * @OptIn(kotlinx.coroutines.DelicateCoroutinesApi::class) * suspend fun main(): Unit { * val (acquired: String, release: suspend (ExitCase) -> Unit) = resource.allocated() * try { @@ -512,20 +511,16 @@ private value class ResourceScopeImpl( }) override fun autoClose(acquire: () -> A, release: (A, Throwable?) -> Unit): A = - try { - acquire().also { a -> - val finalizer: suspend (ExitCase) -> Unit = { exitCase -> - val errorOrNull = when (exitCase) { - Completed -> null - is Cancelled -> exitCase.exception - is Failure -> exitCase.failure - } - release(a, errorOrNull) + acquire().also { a -> + val finalizer: suspend (ExitCase) -> Unit = { exitCase -> + val errorOrNull = when (exitCase) { + ExitCase.Completed -> null + is ExitCase.Cancelled -> exitCase.exception + is ExitCase.Failure -> exitCase.failure } - finalizers.update { prev -> prev + finalizer } + release(a, errorOrNull) } - } catch (e: Throwable) { - throw e + finalizers.update(finalizer::prependTo) } suspend fun cancelAll( @@ -538,3 +533,36 @@ private value class ResourceScopeImpl( } ?: acc } } + +/** Platform-dependent IO [CoroutineDispatcher] **/ +internal expect val IODispatcher: CoroutineDispatcher + +/** + * Creates a [Resource] from an [AutoCloseable], which uses [AutoCloseable.close] for releasing. + * + * ```kotlin + * import arrow.fx.coroutines.resourceScope + * import arrow.fx.coroutines.autoCloseable + * import java.io.FileInputStream + * + * suspend fun copyFile(src: String, dest: String): Unit = + * resourceScope { + * val a: FileInputStream = autoCloseable { FileInputStream(src) } + * val b: FileInputStream = autoCloseable { FileInputStream(dest) } + * /** read from [a] and write to [b]. **/ + * } // Both resources will be closed accordingly to their #close methods + * ``` + * + */ +@ResourceDSL +public suspend fun ResourceScope.autoCloseable( + closingDispatcher: CoroutineDispatcher = IODispatcher, + autoCloseable: suspend () -> A, +): A = install({ autoCloseable() } ) { s: A, _: ExitCase -> withContext(closingDispatcher) { s.close() } } + +public fun autoCloseable( + closingDispatcher: CoroutineDispatcher = IODispatcher, + autoCloseable: suspend () -> A, +): Resource = resource { + autoCloseable(closingDispatcher, autoCloseable) +} diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/await/AwaitAllScope.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/await/AwaitAllScope.kt new file mode 100644 index 00000000000..c48654427a7 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/await/AwaitAllScope.kt @@ -0,0 +1,81 @@ +package arrow.fx.coroutines.await + +import arrow.atomic.Atomic +import arrow.atomic.update +import kotlinx.coroutines.async as coroutinesAsync +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.CoroutineStart +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.InternalForInheritanceCoroutinesApi +import kotlinx.coroutines.awaitAll as coroutinesAwaitAll +import kotlinx.coroutines.coroutineScope +import kotlin.coroutines.CoroutineContext +import kotlin.coroutines.EmptyCoroutineContext + +@RequiresOptIn(level = RequiresOptIn.Level.WARNING, message = "This API is work-in-progress and is subject to change.") +@Retention(AnnotationRetention.BINARY) +@Target(AnnotationTarget.FUNCTION) +public annotation class ExperimentalAwaitAllApi + +@ExperimentalAwaitAllApi +public suspend fun awaitAll( + block: suspend AwaitAllScope.() -> A +): A = coroutineScope { block(AwaitAllScope(this)) } + +@ExperimentalAwaitAllApi +public suspend fun CoroutineScope.awaitAll( + block: suspend AwaitAllScope.() -> A +): A = block(AwaitAllScope(this)) + +/** + * Within an [AwaitAllScope], any call to [kotlinx.coroutines.Deferred.await] + * causes all the other [Deferred] in the same block to be awaited too. + * That way you can get more concurrency without having to sacrifice + * readability. + * + * ```kotlin + * suspend fun loadUserInfo(id: UserId): UserInfo = await { + * val name = async { loadUserFromDb(id) } + * val avatar = async { loadAvatar(id) } + * UserInfo( + * name.await(), // <- at this point every 'async' is 'await'ed + * avatar.await() // <- so when you reach this 'await', the value is already there + * ) + * } + * + * suspend fun loadUserInfoWithoutAwait(id: UserId): UserInfo { + * val name = async { loadUserFromDb(id) } + * val avatar = async { loadAvatar(id) } + * awaitAll(name, avatar) // <- this is required otherwise + * return UserInfo( + * name.await(), + * avatar.await() + * ) + * } + * ``` + */ +public class AwaitAllScope( + private val scope: CoroutineScope +): CoroutineScope by scope { + private val tasks: Atomic>> = Atomic(emptyList()) + + public fun async( + context: CoroutineContext = EmptyCoroutineContext, + start: CoroutineStart = CoroutineStart.DEFAULT, + block: suspend CoroutineScope.() -> T + ): Deferred { + val deferred = coroutinesAsync(context, start, block) + tasks.update { it + deferred } + return Await(deferred) + } + + @OptIn(InternalForInheritanceCoroutinesApi::class) + private inner class Await( + private val deferred: Deferred + ): Deferred by deferred { + override suspend fun await(): T { + tasks.getAndSet(emptyList()).coroutinesAwaitAll() + return deferred.await() + } + } +} diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/flow.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/flow.kt index f0fbac3fa8a..69d74fb5002 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/flow.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/flow.kt @@ -50,6 +50,7 @@ import kotlin.time.TimeSource * import kotlinx.coroutines.flow.collect * import arrow.fx.coroutines.parMap * + * @OptIn(kotlinx.coroutines.FlowPreview::class, kotlinx.coroutines.ExperimentalCoroutinesApi::class) * //sampleStart * suspend fun main(): Unit { * flowOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) @@ -67,6 +68,7 @@ import kotlin.time.TimeSource * ```kotlin * import arrow.fx.coroutines.* * + * @OptIn(kotlinx.coroutines.FlowPreview::class) * suspend fun main(): Unit { * //sampleStart * val source = flowOf(1, 2, 3, 4) @@ -123,6 +125,7 @@ public inline fun Flow.parMap( * import kotlinx.coroutines.flow.collect * import arrow.fx.coroutines.parMapUnordered * + * @OptIn(kotlinx.coroutines.FlowPreview::class, kotlinx.coroutines.ExperimentalCoroutinesApi::class) * //sampleStart * suspend fun main(): Unit { * flowOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) @@ -160,6 +163,7 @@ public inline fun Flow.parMapUnordered( * import kotlinx.coroutines.flow.collect * import arrow.fx.coroutines.parMapNotNullUnordered * + * @OptIn(kotlinx.coroutines.FlowPreview::class, kotlinx.coroutines.ExperimentalCoroutinesApi::class) * //sampleStart * suspend fun main(): Unit { * flowOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/BracketCaseTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/BracketCaseTest.kt index 62cd84c51bb..b5a881959a1 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/BracketCaseTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/BracketCaseTest.kt @@ -19,7 +19,7 @@ import kotlin.time.ExperimentalTime class BracketCaseTest { @Test fun immediateAcquireBracketCaseFinishesSuccessfully() = runTest { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> var once = true bracketCase( acquire = { a }, @@ -34,7 +34,7 @@ class BracketCaseTest { @Test fun suspendedAcquireBracketCaseFinishedSuccessfully() = runTest { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> var once = true bracketCase( acquire = { a.suspend() }, @@ -49,7 +49,7 @@ class BracketCaseTest { @Test fun immediateErrorInAcquireStaysTheSameError() = runTest { - checkAll(Arb.throwable()) { e -> + checkAll(10, Arb.throwable()) { e -> Either.catch { bracketCase( acquire = { throw e }, @@ -62,7 +62,7 @@ class BracketCaseTest { @Test fun suspendErrorInAcquireStaysTheSameError() = runTest { - checkAll(Arb.throwable()) { e -> + checkAll(10, Arb.throwable()) { e -> Either.catch { bracketCase( acquire = { e.suspend() }, @@ -75,7 +75,7 @@ class BracketCaseTest { @Test fun immediateUseBracketCaseFinishedSuccessfully() = runTest { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> var once = true bracketCase( acquire = { a }, @@ -90,7 +90,7 @@ class BracketCaseTest { @Test fun suspendedUseBracketCaseFinishesSuccessfully() = runTest { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> var once = true bracketCase( acquire = { a }, @@ -105,7 +105,7 @@ class BracketCaseTest { @Test fun bracketCaseMustRunReleaseTaskOnUseImmediateError() = runTest { - checkAll(Arb.int(), Arb.throwable()) { i, e -> + checkAll(10, Arb.int(), Arb.throwable()) { i, e -> val promise = CompletableDeferred() Either.catch { @@ -124,7 +124,7 @@ class BracketCaseTest { @Test fun bracketCaseMustRunReleaseTaskOnUseSuspendedError() = runTest { - checkAll(Arb.int(), Arb.throwable()) { x, e -> + checkAll(10, Arb.int(), Arb.throwable()) { x, e -> val promise = CompletableDeferred>() Either.catch { @@ -143,7 +143,7 @@ class BracketCaseTest { @Test fun bracketCaseMustAlwaysRunImmediateRelease() = runTest { - checkAll(Arb.int()) { x -> + checkAll(10, Arb.int()) { x -> val promise = CompletableDeferred>() Either.catch { @@ -162,7 +162,7 @@ class BracketCaseTest { @Test fun bracketCaseMustAlwaysRunSuspendedRelease() = runTest { - checkAll(Arb.int()) { x -> + checkAll(10, Arb.int()) { x -> val promise = CompletableDeferred>() Either.catch { @@ -182,7 +182,7 @@ class BracketCaseTest { @Test fun bracketCaseMustAlwaysRunImmediateReleaseError() = runTest { - checkAll(Arb.int(), Arb.throwable()) { n, e -> + checkAll(10, Arb.int(), Arb.throwable()) { n, e -> Either.catch { bracketCase( acquire = { n }, @@ -195,7 +195,7 @@ class BracketCaseTest { @Test fun bracketCaseMustAlwaysRunSuspendedReleaseError() = runTest { - checkAll(Arb.int(), Arb.throwable()) { n, e -> + checkAll(10, Arb.int(), Arb.throwable()) { n, e -> Either.catch { bracketCase( acquire = { n }, @@ -211,7 +211,7 @@ class BracketCaseTest { @Test fun bracketCaseMustComposeImmediateUseAndImmediateReleaseError() = runTest { - checkAll(Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> + checkAll(10, Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> Either.catch { bracketCase( acquire = { n }, @@ -224,7 +224,7 @@ class BracketCaseTest { @Test fun bracketCaseMustComposeSuspendUseAndImmediateReleaseError() = runTest { - checkAll(Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> + checkAll(10, Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> Either.catch { bracketCase( acquire = { n }, @@ -237,7 +237,7 @@ class BracketCaseTest { @Test fun bracketCaseMustComposeImmediateUseAndSuspendReleaseError() = runTest { - checkAll(Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> + checkAll(10, Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> Either.catch { bracketCase( acquire = { n }, @@ -250,7 +250,7 @@ class BracketCaseTest { @Test fun bracketCaseMustComposeSuspendUseAndSuspendReleaseError() = runTest { - checkAll(Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> + checkAll(10, Arb.int(), Arb.throwable(), Arb.throwable()) { n, e, e2 -> Either.catch { bracketCase( acquire = { n }, @@ -338,7 +338,7 @@ class BracketCaseTest { @Test fun acquireOnBracketCaseIsNotCancellable() = runTest { - checkAll(Arb.int(), Arb.int()) { x, y -> + checkAll(10, Arb.int(), Arb.int()) { x, y -> val mVar = Channel(1).apply { send(x) } val latch = CompletableDeferred() val p = CompletableDeferred() @@ -367,7 +367,7 @@ class BracketCaseTest { @Test fun releaseOnBracketCaseIsNotCancellable() = runTest { - checkAll(Arb.int(), Arb.int()) { x, y -> + checkAll(10, Arb.int(), Arb.int()) { x, y -> val mVar = Channel(1).apply { send(x) } val latch = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CountDownLatchSpec.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CountDownLatchSpec.kt index 738c48ffdb0..fbaf3816259 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CountDownLatchSpec.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CountDownLatchSpec.kt @@ -19,7 +19,7 @@ import kotlin.test.Test class CountDownLatchSpec { @Test fun shouldRaiseAnExceptionWhenConstructedWithNegativeOrZeroCapacity() = runTest { - checkAll(Arb.long(Long.MIN_VALUE, 0)) { i -> + checkAll(10, Arb.long(Long.MIN_VALUE, 0)) { i -> shouldThrow { CountDownLatch(i) }.message shouldBe "CountDownLatch must be constructed with positive non-zero initial count, but was $i" } @@ -27,7 +27,7 @@ class CountDownLatchSpec { @Test fun releaseAndThenAwaitShouldComplete() = runTest { - checkAll(Arb.long(1, 20)) { count -> + checkAll(10, Arb.long(1, 20)) { count -> val latch = CountDownLatch(count) repeat(count.toInt()) { latch.countDown() } latch.await() shouldBe Unit @@ -36,7 +36,7 @@ class CountDownLatchSpec { @Test fun awaitAndThenReleaseShouldComplete() = runTest { - checkAll(Arb.long(1, 20)) { count -> + checkAll(10, Arb.long(1, 20)) { count -> val latch = CountDownLatch(count) val job = launch { latch.await() } repeat(count.toInt()) { latch.countDown() } @@ -46,7 +46,7 @@ class CountDownLatchSpec { @Test fun awaitWithMoreThanOneLatchUnreleasedShouldBlock() = runTest { - checkAll(Arb.long(1, 20)) { count -> + checkAll(10, Arb.long(1, 20)) { count -> val latch = CountDownLatch(count) repeat(count.toInt() - 1) { latch.countDown() } withTimeoutOrNull(1) { latch.await() }.shouldBeNull() @@ -56,7 +56,7 @@ class CountDownLatchSpec { @Test fun multipleAwaitsShouldAllComplete() = runTest { - checkAll(Arb.long(1, 20)) { count -> + checkAll(10, Arb.long(1, 20)) { count -> val latch = CountDownLatch(count) val jobs = (0 until count).map { launch { latch.await() } } repeat(count.toInt()) { latch.countDown() } diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CyclicBarrierSpec.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CyclicBarrierSpec.kt index c678fa690e8..52423e8b067 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CyclicBarrierSpec.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/CyclicBarrierSpec.kt @@ -18,7 +18,7 @@ import kotlin.test.Test class CyclicBarrierSpec { @Test fun shouldRaiseAnExceptionWhenConstructedWithNegativeOrZeroCapacity() = runTest { - checkAll(Arb.int(Int.MIN_VALUE, 0)) { i -> + checkAll(10, Arb.int(Int.MIN_VALUE, 0)) { i -> shouldThrow { CyclicBarrier(i) }.message shouldBe "Cyclic barrier must be constructed with positive non-zero capacity $i but was $i > 0" } @@ -26,7 +26,7 @@ class CyclicBarrierSpec { @Test fun barrierOfCapacity1IsANoOp() = runTest { - checkAll(Arb.constant(Unit)) { + checkAll(10, Arb.constant(Unit)) { val barrier = CyclicBarrier(1) barrier.await() } @@ -34,7 +34,7 @@ class CyclicBarrierSpec { @Test fun awaitingAllInParallelResumesAllCoroutines() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(1, 20)) { i -> + checkAll(10, Arb.int(1, 20)) { i -> val barrier = CyclicBarrier(i) (0 until i).parMap { barrier.await() } } @@ -42,7 +42,7 @@ class CyclicBarrierSpec { @Test fun shouldResetOnceFull() = runTestUsingDefaultDispatcher { - checkAll(Arb.constant(Unit)) { + checkAll(10, Arb.constant(Unit)) { val barrier = CyclicBarrier(2) parZip({ barrier.await() }, { barrier.await() }) { _, _ -> } barrier.capacity shouldBe 2 @@ -60,7 +60,7 @@ class CyclicBarrierSpec { @Test fun awaitIsCancelable() = runTest { - checkAll(Arb.int(2, Int.MAX_VALUE)) { i -> + checkAll(10, Arb.int(2, Int.MAX_VALUE)) { i -> val barrier = CyclicBarrier(i) val exitCase = CompletableDeferred() @@ -77,7 +77,7 @@ class CyclicBarrierSpec { @Test fun shouldCleanUpUponCancellationOfAwait() = runTest { - checkAll(Arb.constant(Unit)) { + checkAll(10, Arb.constant(Unit)) { val barrier = CyclicBarrier(2) launch(start = CoroutineStart.UNDISPATCHED) { barrier.await() }.cancelAndJoin() } @@ -85,7 +85,7 @@ class CyclicBarrierSpec { @Test fun resetCancelsAllAwaiting() = runTest { - checkAll(Arb.int(2, 20)) { i -> + checkAll(10, Arb.int(2, 20)) { i -> val barrier = CyclicBarrier(i) val exitCase = CompletableDeferred() @@ -103,7 +103,7 @@ class CyclicBarrierSpec { @Test fun shouldCleanUpUponReset() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(2, 20)) { i -> + checkAll(10, Arb.int(2, 20)) { i -> val barrier = CyclicBarrier(i) val exitCase = CompletableDeferred() @@ -119,7 +119,7 @@ class CyclicBarrierSpec { @Test fun raceFiberCancelAndBarrierFull() = runTestUsingDefaultDispatcher { - checkAll(Arb.constant(Unit)) { + checkAll(10, Arb.constant(Unit)) { val barrier = CyclicBarrier(2) val job = launch(start = CoroutineStart.UNDISPATCHED) { barrier.await() } when (raceN({ barrier.await() }, { job.cancelAndJoin() })) { @@ -133,7 +133,7 @@ class CyclicBarrierSpec { @Test fun reset() = runTest { - checkAll(Arb.int(2..10)) { n -> + checkAll(10, Arb.int(2..10)) { n -> val barrier = CyclicBarrier(n) val exits = (0 until n - 1).map { CompletableDeferred() } diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/FlowTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/FlowTest.kt index 8c4f3baf500..0d921360f0c 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/FlowTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/FlowTest.kt @@ -36,7 +36,7 @@ class FlowTest { @Test fun parMapConcurrentEqualOneMinusIdentity() = runTestUsingDefaultDispatcher { - checkAll(Arb.flow(Arb.int(), range = 1 .. 20)) { flow -> + checkAll(10, Arb.flow(Arb.int(), range = 1 .. 20)) { flow -> flow.parMap(1) { it } .toList() shouldBe flow.toList() } @@ -44,7 +44,7 @@ class FlowTest { @Test fun parMapRunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(1..2)) { i, n -> + checkAll(10, Arb.int(), Arb.int(1..2)) { i, n -> val latch = CompletableDeferred() flowOf(1, 2).parMap { index -> if (index == n) latch.await() @@ -77,7 +77,7 @@ class FlowTest { @Test fun parMapExceptionInParMapCancelsAllRunningTasks() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.throwable(), Arb.int(1..2)) { i, e, n -> + checkAll(10, Arb.int(), Arb.throwable(), Arb.int(1..2)) { i, e, n -> val latch = CompletableDeferred() val exit = CompletableDeferred>() @@ -104,7 +104,7 @@ class FlowTest { @Test fun parMapCancellingParMapCancelsAllRunningJobs() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int()) { i, i2 -> + checkAll(10, Arb.int(), Arb.int()) { i, i2 -> val latch = CompletableDeferred() val exitA = CompletableDeferred>() val exitB = CompletableDeferred>() @@ -136,7 +136,7 @@ class FlowTest { @Test fun parMapUnorderedConcurrentEqualOneMinusIdentity() = runTestUsingDefaultDispatcher { - checkAll(Arb.flow(Arb.int(), range = 1 .. 20)) { flow -> + checkAll(10, Arb.flow(Arb.int(), range = 1 .. 20)) { flow -> flow.parMapUnordered(concurrency = 1) { it } .toSet() shouldBe flow.toSet() } @@ -144,7 +144,7 @@ class FlowTest { @Test fun parMapUnorderedRunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(1..2)) { i, n -> + checkAll(10, Arb.int(), Arb.int(1..2)) { i, n -> val latch = CompletableDeferred() flowOf(1, 2).parMapUnordered { index -> if (index == n) latch.await() @@ -178,7 +178,7 @@ class FlowTest { @Test fun parMapUnorderedExceptionInParMapCancelsAllRunningTasks() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.throwable(), Arb.int(1..2)) { i, e, n -> + checkAll(10, Arb.int(), Arb.throwable(), Arb.int(1..2)) { i, e, n -> val latch = CompletableDeferred() val exit = CompletableDeferred>() @@ -205,7 +205,7 @@ class FlowTest { @Test fun parMapUnorderedCancellingParMapCancelsAllRunningJobs() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int()) { i, i2 -> + checkAll(10, Arb.int(), Arb.int()) { i, i2 -> val latch = CompletableDeferred() val exitA = CompletableDeferred>() val exitB = CompletableDeferred>() @@ -255,7 +255,7 @@ class FlowTest { @Test @ExperimentalTime fun fixedDelay() = runTest { - checkAll(Arb.long(10L .. 50L), Arb.int(3..20)) { waitPeriodInMillis, n -> + checkAll(10, Arb.long(10L .. 50L), Arb.int(3..20)) { waitPeriodInMillis, n -> val waitPeriod = waitPeriodInMillis.milliseconds val emissionDuration = (waitPeriodInMillis / 10L).milliseconds var state: ComparableTimeMark? = null @@ -281,7 +281,7 @@ class FlowTest { @Test @ExperimentalTime fun fixedRate() = runTest { - checkAll(Arb.long(10L..50L), Arb.int(3..20)) { waitPeriodInMillis, n -> + checkAll(10, Arb.long(10L..50L), Arb.int(3..20)) { waitPeriodInMillis, n -> val waitPeriod = waitPeriodInMillis.milliseconds val emissionDuration = (waitPeriodInMillis / 10L).milliseconds var state: ComparableTimeMark? = null diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/GuaranteeCaseTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/GuaranteeCaseTest.kt index 1795c98fc0f..0f7df1bf6e7 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/GuaranteeCaseTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/GuaranteeCaseTest.kt @@ -16,7 +16,7 @@ class GuaranteeCaseTest { @Test fun releaseForSuccessWasInvoked() = runTest { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> val p = CompletableDeferred() val res = guaranteeCase( @@ -31,7 +31,7 @@ class GuaranteeCaseTest { @Test fun releaseForErrorWasInvoked() = runTest { - checkAll(Arb.throwable()) { e -> + checkAll(10, Arb.throwable()) { e -> val p = CompletableDeferred() val attempted = Either.catch { guaranteeCase( diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParMapTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParMapTest.kt index 5a925875cd2..ead4d9c4bb8 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParMapTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParMapTest.kt @@ -144,7 +144,7 @@ class ParMapTest { } @Test fun parMapOrAccumulateAccumulatesShifts() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { e -> + checkAll(10, Arb.string()) { e -> (0 until 10).parMapOrAccumulate { _ -> raise(e) } shouldBe NonEmptyList(e, (1 until 10).map { e }).left() @@ -213,7 +213,7 @@ class ParMapTest { } @Test fun parMapNotNullRetainsNonNulls() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> (0 until 10).parMapNotNull { _ -> i } shouldBe List(10) { i } diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip2Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip2Test.kt index 86bd3478d4f..a1f8e77fdd3 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip2Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip2Test.kt @@ -22,7 +22,7 @@ import kotlin.test.Test class ParZip2Test { @Test fun parZip2RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> val r = AtomicInt(0) val modifyGate = CompletableDeferred() @@ -44,7 +44,7 @@ class ParZip2Test { } @Test fun cancellingParZip2CancelsAllParticipants() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> val s = Channel() val pa = CompletableDeferred>() val pb = CompletableDeferred>() @@ -72,7 +72,7 @@ class ParZip2Test { } @Test fun parZip2CancelsLosersIfAFailtureOccursInOneOfTheTasts() = runTestUsingDefaultDispatcher { - checkAll(Arb.throwable(), Arb.boolean()) { e, leftWinner -> + checkAll(10, Arb.throwable(), Arb.boolean()) { e, leftWinner -> val s = Channel() val pa = CompletableDeferred() @@ -91,7 +91,7 @@ class ParZip2Test { } @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { msg -> + checkAll(10, Arb.string()) { msg -> val exit = CompletableDeferred() val start = CompletableDeferred() try { diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip3Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip3Test.kt index bf10afad390..c84812ebfae 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip3Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip3Test.kt @@ -21,7 +21,7 @@ import kotlin.test.Test class ParZip3Test { @Test fun parZip3RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.int()) { a, b, c -> + checkAll(10, Arb.int(), Arb.int(), Arb.int()) { a, b, c -> val r = Atomic("") val modifyGate1 = CompletableDeferred() val modifyGate2 = CompletableDeferred() @@ -103,7 +103,7 @@ class ParZip3Test { } @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string(), Arb.int(1..3)) { msg, cancel -> + checkAll(10, Arb.string(), Arb.int(1..3)) { msg, cancel -> val s = Channel() val pa = CompletableDeferred() val pb = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip4Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip4Test.kt index 11b668e7f5e..78a074a0855 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip4Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip4Test.kt @@ -23,7 +23,7 @@ import kotlin.test.Test class ParZip4Test { @Test fun parZip4RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d -> + checkAll(10, Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d -> val r = Atomic("") val modifyGate1 = CompletableDeferred() val modifyGate2 = CompletableDeferred() @@ -114,7 +114,7 @@ class ParZip4Test { @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string(), Arb.int(1..4)) { msg, cancel -> + checkAll(10, Arb.string(), Arb.int(1..4)) { msg, cancel -> val s = Channel() val pa = CompletableDeferred() val pb = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip5Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip5Test.kt index a4ee82da26b..f46addff18f 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip5Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip5Test.kt @@ -23,7 +23,7 @@ import kotlin.test.Test class ParZip5Test { @Test fun parZip5RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e -> + checkAll(10, Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e -> val r = Atomic("") val modifyGate1 = CompletableDeferred() val modifyGate2 = CompletableDeferred() @@ -137,7 +137,7 @@ class ParZip5Test { @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string(), Arb.int(1..5)) { msg, cancel -> + checkAll(10, Arb.string(), Arb.int(1..5)) { msg, cancel -> val s = Channel() val pa = CompletableDeferred() val pb = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip6Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip6Test.kt index 8fef5baf9fe..ba0c3dfd318 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip6Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip6Test.kt @@ -23,7 +23,7 @@ import kotlin.test.Test class ParZip6Test { @Test fun parZip6RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f -> + checkAll(10, Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f -> val r = Atomic("") val modifyGate1 = CompletableDeferred() val modifyGate2 = CompletableDeferred() @@ -144,7 +144,7 @@ class ParZip6Test { @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string(), Arb.int(1..6)) { msg, cancel -> + checkAll(10, Arb.string(), Arb.int(1..6)) { msg, cancel -> val s = Channel() val pa = CompletableDeferred() val pb = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip7Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip7Test.kt index cf7b672da48..19615605dcc 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip7Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip7Test.kt @@ -23,7 +23,7 @@ import kotlin.test.Test class ParZip7Test { @Test fun parZip7RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f, g -> + checkAll(10, Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f, g -> val r = Atomic("") val modifyGate1 = CompletableDeferred() val modifyGate2 = CompletableDeferred() @@ -158,7 +158,7 @@ class ParZip7Test { @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string(), Arb.int(1..7)) { msg, cancel -> + checkAll(10, Arb.string(), Arb.int(1..7)) { msg, cancel -> val s = Channel() val pa = CompletableDeferred() val pb = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip8Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip8Test.kt index cfae45a0450..036d75a5e3b 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip8Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip8Test.kt @@ -23,7 +23,7 @@ import kotlin.test.Test class ParZip8Test { @Test fun parZip8RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f, g, h -> + checkAll(10, Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f, g, h -> val r = Atomic("") val modifyGate1 = CompletableDeferred() val modifyGate2 = CompletableDeferred() @@ -170,7 +170,7 @@ class ParZip8Test { @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string(), Arb.int(1..8)) { msg, cancel -> + checkAll(10, Arb.string(), Arb.int(1..8)) { msg, cancel -> val s = Channel() val pa = CompletableDeferred() val pb = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip9Test.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip9Test.kt index 7e22dd83592..6eb3077d8a6 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip9Test.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ParZip9Test.kt @@ -23,7 +23,7 @@ class ParZip9Test { @Test fun parZip9RunsInParallel() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f, g, h, i -> + checkAll(10, Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int(), Arb.int()) { a, b, c, d, e, f, g, h, i -> val r = Atomic("") val modifyGate1 = CompletableDeferred() val modifyGate2 = CompletableDeferred() @@ -183,7 +183,7 @@ class ParZip9Test { @Test fun parZipCancellationExceptionOnRightCanCancelRest() = runTestUsingDefaultDispatcher { - checkAll(Arb.string(), Arb.int(1..9)) { msg, cancel -> + checkAll(10, Arb.string(), Arb.int(1..9)) { msg, cancel -> val s = Channel() val pa = CompletableDeferred() val pb = CompletableDeferred() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/RaceNTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/RaceNTest.kt index 8fc5a0cdddd..3c3260ca613 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/RaceNTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/RaceNTest.kt @@ -25,19 +25,19 @@ fun Either.rethrow(): A = class RaceNTest { @Test fun race2JoinFirst() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> raceN({ i }, { awaitCancellation() }) shouldBe Either.Left(i) } } @Test fun race2JoinSecond() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> raceN({ awaitCancellation() }, { i }) shouldBe Either.Right(i) } } @Test fun race2CancelsAll() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> val s = Channel() val pa = CompletableDeferred>() val pb = CompletableDeferred>() @@ -89,26 +89,26 @@ class RaceNTest { } @Test fun race3JoinFirst() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> raceN({ i }, { awaitCancellation() }, { awaitCancellation() }) shouldBe Race3.First(i) } } @Test fun race3JoinSecond() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> raceN({ awaitCancellation() }, { i }, { awaitCancellation() }) shouldBe Race3.Second(i) } } @Test fun race3JoinThird() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> raceN({ awaitCancellation() }, { awaitCancellation() }, { i }) shouldBe Race3.Third(i) } } @Test fun race3CancelsAll() = runTestUsingDefaultDispatcher { retry(10, 1.seconds) { - checkAll(Arb.int(), Arb.int(), Arb.int()) { a, b, c -> + checkAll(10, Arb.int(), Arb.int(), Arb.int()) { a, b, c -> val s = Channel() val pa = CompletableDeferred>() val pb = CompletableDeferred>() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceAutoCloseTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceAutoCloseTest.kt new file mode 100644 index 00000000000..9494bc00416 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceAutoCloseTest.kt @@ -0,0 +1,43 @@ +package arrow.fx.coroutines + +import arrow.atomic.AtomicBoolean +import io.kotest.assertions.throwables.shouldThrow +import io.kotest.matchers.shouldBe +import io.kotest.property.Arb +import io.kotest.property.checkAll +import kotlinx.coroutines.test.runTest +import kotlin.test.Test + +class ResourceAutoCloseTest { + + class AutoCloseableTest : AutoCloseable { + val didClose = AtomicBoolean(false) + override fun close() = didClose.set(true) + } + + @Test + fun autoCloseableCloses() = runTest { + val t = AutoCloseableTest() + resourceScope { + autoCloseable { t } + } + + t.didClose.get() shouldBe true + } + + @Test + fun autoCloseableClosesOnError() = runTest { + checkAll(10, Arb.throwable()) { throwable -> + val t = AutoCloseableTest() + + shouldThrow { + resourceScope { + autoCloseable { t } + throw throwable + } + } shouldBe throwable + + t.didClose.get() shouldBe true + } + } +} diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceTest.kt index 80d9dbac273..1ee7631206f 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceTest.kt @@ -1,13 +1,12 @@ package arrow.fx.coroutines -import arrow.autoCloseScope +import arrow.atomic.AtomicBoolean import arrow.core.Either import arrow.core.left import arrow.core.raise.either import arrow.fx.coroutines.ExitCase.Companion.ExitCase import io.kotest.assertions.fail import io.kotest.assertions.throwables.shouldThrow -import io.kotest.assertions.throwables.shouldThrow import io.kotest.matchers.collections.shouldContainExactly import io.kotest.matchers.nulls.shouldNotBeNull import io.kotest.matchers.should @@ -28,17 +27,18 @@ import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.async import kotlinx.coroutines.awaitCancellation +import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.toList import kotlinx.coroutines.test.runTest -import kotlin.random.Random import kotlin.test.Test +import kotlinx.coroutines.channels.toList class ResourceTest { @Test fun acquireSuccessIdentity() = runTest { - checkAll(Arb.int()) { n -> + checkAll(10, Arb.int()) { n -> resourceScope { install({ n }) { _, _ -> } shouldBe n } @@ -47,7 +47,7 @@ class ResourceTest { @Test fun respectFIFOOrderInstalledFunction() = runTest { - checkAll(Arb.positiveInt(), Arb.negativeInt()) { a, b -> + checkAll(10, Arb.positiveInt(), Arb.negativeInt()) { a, b -> val order = mutableListOf() suspend fun ResourceScope.scoped(n: Int): Int = @@ -65,7 +65,7 @@ class ResourceTest { @Test fun resourceReleasedWithComplete() = runTest { - checkAll(Arb.int()) { n -> + checkAll(10, Arb.int()) { n -> val p = CompletableDeferred() resourceScope { install({ n }) { _, ex -> require(p.complete(ex)) } @@ -76,7 +76,7 @@ class ResourceTest { @Test fun errorFinishesWithError() = runTest { - checkAll(Arb.throwable()) { e -> + checkAll(10, Arb.throwable()) { e -> val p = CompletableDeferred() suspend fun ResourceScope.failingScope(): Nothing = install({ throw e }, { _, ex -> require(p.complete(ex)) }) @@ -89,7 +89,7 @@ class ResourceTest { @Test fun neverCancelled() = runTest { - checkAll(Arb.int()) { n -> + checkAll(10, Arb.int()) { n -> val p = CompletableDeferred() val start = CompletableDeferred() suspend fun ResourceScope.n(): Int = install({ n }, { _, ex -> require(p.complete(ex)) }) @@ -233,7 +233,7 @@ class ResourceTest { // Test multiple release triggers on acquire fail. @Test fun parZipFinalizersLeftOrRightCancellation() = runTestUsingDefaultDispatcher { - checkAll(Arb.boolean()) { isLeft -> + checkAll(10, Arb.boolean()) { isLeft -> val cancel = CancellationException(null, null) val (promises, resource) = generate() val latch = CompletableDeferred() @@ -268,7 +268,7 @@ class ResourceTest { @Test fun parZipRightCancellationExceptionOnAcquire() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> val cancel = CancellationException(null, null) val released = CompletableDeferred>() val started = CompletableDeferred() @@ -297,7 +297,7 @@ class ResourceTest { @Test fun parZipLeftCancellationExceptionOnAcquire() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> val cancel = CancellationException(null, null) val released = CompletableDeferred>() val started = CompletableDeferred() @@ -327,7 +327,7 @@ class ResourceTest { @Test fun parZipRightErrorOnAcquire() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.throwable()) { i, throwable -> + checkAll(10, Arb.int(), Arb.throwable()) { i, throwable -> val released = CompletableDeferred>() val started = CompletableDeferred() shouldThrow { @@ -355,7 +355,7 @@ class ResourceTest { @Test fun parZipLeftErrorOnAcquire() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.throwable()) { i, throwable -> + checkAll(10, Arb.int(), Arb.throwable()) { i, throwable -> val released = CompletableDeferred>() val started = CompletableDeferred() shouldThrow { @@ -382,7 +382,7 @@ class ResourceTest { @Test fun parZipRightCancellationExceptionOnRelease() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> val cancel = CancellationException(null, null) val released = CompletableDeferred>() @@ -404,7 +404,7 @@ class ResourceTest { @Test fun parZipLeftCancellationExceptionOnRelease() = runTestUsingDefaultDispatcher { - checkAll(Arb.int()) { i -> + checkAll(10, Arb.int()) { i -> val cancel = CancellationException(null, null) val released = CompletableDeferred>() @@ -426,7 +426,7 @@ class ResourceTest { @Test fun parZipRightErrorOnRelease() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.throwable()) { i, throwable -> + checkAll(10, Arb.int(), Arb.throwable()) { i, throwable -> val released = CompletableDeferred>() shouldThrow { @@ -447,7 +447,7 @@ class ResourceTest { @Test fun parZipLeftErrorOnRelease() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.throwable()) { i, throwable -> + checkAll(10, Arb.int(), Arb.throwable()) { i, throwable -> val released = CompletableDeferred>() shouldThrow { @@ -468,7 +468,7 @@ class ResourceTest { @Test fun parZipErrorInUse() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int(), Arb.throwable()) { a, b, throwable -> + checkAll(10, Arb.int(), Arb.int(), Arb.throwable()) { a, b, throwable -> val releasedA = CompletableDeferred>() val releasedB = CompletableDeferred>() @@ -495,7 +495,7 @@ class ResourceTest { @Test fun parZipCancellationInUse() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(), Arb.int()) { a, b -> + checkAll(10, Arb.int(), Arb.int()) { a, b -> val releasedA = CompletableDeferred>() val releasedB = CompletableDeferred>() @@ -522,7 +522,7 @@ class ResourceTest { @Test fun resourceAsFlow() = runTest { - checkAll(Arb.int()) { n -> + checkAll(10, Arb.int()) { n -> val released = CompletableDeferred() val r = resource({ n }, { _, ex -> require(released.complete(ex)) }) @@ -534,7 +534,7 @@ class ResourceTest { @Test fun resourceAsFlowFail() = runTest { - checkAll(Arb.int(), Arb.throwable()) { n, throwable -> + checkAll(10, Arb.int(), Arb.throwable()) { n, throwable -> val released = CompletableDeferred() val r = resource({ n }, { _, ex -> require(released.complete(ex)) }) @@ -548,7 +548,7 @@ class ResourceTest { @Test fun resourceAsFlowCancel() = runTest { - checkAll(Arb.int()) { n -> + checkAll(10, Arb.int()) { n -> val released = CompletableDeferred() val r = resource({ n }, { _, ex -> require(released.complete(ex)) }) @@ -563,7 +563,7 @@ class ResourceTest { @OptIn(DelicateCoroutinesApi::class) @Test fun allocatedWorks() = runTest { - checkAll(Arb.int()) { seed -> + checkAll(10, Arb.int()) { seed -> val released = CompletableDeferred() val (allocate, release) = resource({ seed }) { _, exitCase -> released.complete(exitCase) } .allocated() @@ -633,4 +633,57 @@ class ResourceTest { released.await().shouldBeTypeOf() } } + + @OptIn(ExperimentalStdlibApi::class) + private class Res : AutoCloseable { + private val isActive = AtomicBoolean(true) + + fun isActive(): Boolean = isActive.get() + + fun shutdown() { + require(isActive.compareAndSet(expected = true, new = false)) { + "Already shut down" + } + } + + override fun close() { + shutdown() + } + } + + @Test + fun closeInReversedOrder() = runTest { + val res1 = Res() + val res2 = Res() + val res3 = Res() + + val wasActive = Channel(Channel.UNLIMITED) + val closed = Channel(Channel.UNLIMITED) + + resourceScope { + val r1 = autoClose({ res1 }) { r, _ -> + closed.trySend(r).getOrThrow() + r.shutdown() + } + val r2 = autoClose({ res2 }) { r, _ -> + closed.trySend(r).getOrThrow() + r.shutdown() + } + val r3 = autoClose({ res3 }) { r, _ -> + closed.trySend(r).getOrThrow() + r.shutdown() + } + + wasActive.trySend(r1.isActive()).getOrThrow() + wasActive.trySend(r2.isActive()).getOrThrow() + wasActive.trySend(r3.isActive()).getOrThrow() + wasActive.close() + } + + wasActive.toList() shouldBe listOf(true, true, true) + closed.receive() shouldBe res3 + closed.receive() shouldBe res2 + closed.receive() shouldBe res1 + closed.cancel() + } } diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt new file mode 100644 index 00000000000..79d11ad184d --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt @@ -0,0 +1,6 @@ +package arrow.fx.coroutines + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers + +internal actual val IODispatcher: CoroutineDispatcher = Dispatchers.Main diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt index b36b6e8bf3e..aa606861ff1 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt @@ -16,6 +16,8 @@ import java.util.concurrent.TimeUnit import kotlin.coroutines.CoroutineContext import kotlin.time.Duration +internal actual val IODispatcher: CoroutineDispatcher = Dispatchers.IO + /** * Creates a single threaded [CoroutineContext] as a [Resource]. * Upon release an orderly shutdown of the [ExecutorService] takes place in which previously submitted @@ -99,36 +101,6 @@ public fun closeable( closeable(closingDispatcher, closeable) } -/** - * Creates a [Resource] from an [AutoCloseable], which uses [AutoCloseable.close] for releasing. - * - * ```kotlin - * import arrow.fx.coroutines.resourceScope - * import arrow.fx.coroutines.autoCloseable - * import java.io.FileInputStream - * - * suspend fun copyFile(src: String, dest: String): Unit = - * resourceScope { - * val a: FileInputStream = autoCloseable { FileInputStream(src) } - * val b: FileInputStream = autoCloseable { FileInputStream(dest) } - * /** read from [a] and write to [b]. **/ - * } // Both resources will be closed accordingly to their #close methods - * ``` - * - */ -@ResourceDSL -public suspend fun ResourceScope.autoCloseable( - closingDispatcher: CoroutineDispatcher = Dispatchers.IO, - autoCloseable: suspend () -> A, -): A = install({ autoCloseable() } ) { s: A, _: ExitCase -> withContext(closingDispatcher) { s.close() } } - -public fun autoCloseable( - closingDispatcher: CoroutineDispatcher = Dispatchers.IO, - autoCloseable: suspend () -> A, -): Resource = resource { - autoCloseable(closingDispatcher, autoCloseable) -} - /** * Creates a single threaded [CoroutineContext] as a [Resource]. * Upon release an orderly shutdown of the [ExecutorService] takes place in which previously submitted @@ -150,7 +122,7 @@ public fun autoCloseable( * ```text * I am running on single * ``` - * + * */ @OptIn(DelicateCoroutinesApi::class, ExperimentalCoroutinesApi::class) @ResourceDSL @@ -181,7 +153,7 @@ public fun singleThreadContext(name: String): Resource + * */ @OptIn(DelicateCoroutinesApi::class) @ResourceDSL diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/FlowJvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/FlowJvmTest.kt index 7e1421a311f..1de2834991e 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/FlowJvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/FlowJvmTest.kt @@ -5,29 +5,31 @@ import io.kotest.matchers.string.shouldContain import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.checkAll +import kotlinx.coroutines.Dispatchers import kotlin.test.Test import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.toList import kotlinx.coroutines.flow.toSet import kotlinx.coroutines.flow.flowOn +import kotlinx.coroutines.runBlocking @OptIn(FlowPreview::class, ExperimentalCoroutinesApi::class) class FlowJvmTest { - @Test fun parMapSingleThreadIdentity() = runTestUsingDefaultDispatcher { + @Test fun parMapSingleThreadIdentity(): Unit = runBlocking(Dispatchers.Default) { resourceScope { val ctx = singleThreadContext("single") - checkAll(Arb.flow(Arb.int())) { flow -> + checkAll(10, Arb.flow(Arb.int())) { flow -> flow.parMap { it }.flowOn(ctx) .toList() shouldBe flow.toList() } } } - @Test fun parMapflowOn() = runTestUsingDefaultDispatcher { + @Test fun parMapflowOn(): Unit = runBlocking(Dispatchers.Default) { resourceScope { val ctx = singleThreadContext("single") - checkAll(Arb.flow(Arb.int())) { flow -> + checkAll(10, Arb.flow(Arb.int())) { flow -> flow.parMap { Thread.currentThread().name }.flowOn(ctx) .toList().forEach { it shouldContain "single" @@ -36,20 +38,20 @@ class FlowJvmTest { } } - @Test fun parMapUnorderedSingleThreadIdentity() = runTestUsingDefaultDispatcher { + @Test fun parMapUnorderedSingleThreadIdentity(): Unit = runBlocking(Dispatchers.Default) { resourceScope { val ctx = singleThreadContext("single") - checkAll(Arb.flow(Arb.int())) { flow -> + checkAll(10, Arb.flow(Arb.int())) { flow -> flow.parMapUnordered { it }.flowOn(ctx) .toSet() shouldBe flow.toSet() } } } - @Test fun parMapUnorderedFlowOn() = runTestUsingDefaultDispatcher { + @Test fun parMapUnorderedFlowOn(): Unit = runBlocking(Dispatchers.Default) { resourceScope { val ctx = singleThreadContext("single") - checkAll(Arb.flow(Arb.int())) { flow -> + checkAll(10, Arb.flow(Arb.int())) { flow -> flow.parMap { Thread.currentThread().name }.flowOn(ctx) .toList().forEach { it shouldContain "single" diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParMapJvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParMapJvmTest.kt index 71f1617df6b..ac8ac91dd3a 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParMapJvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParMapJvmTest.kt @@ -5,11 +5,13 @@ import io.kotest.matchers.string.shouldStartWith import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.checkAll +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.runBlocking import kotlin.test.Test class ParMapJvmTest { - @Test fun parMapRunsOnProvidedContext() = runTestUsingDefaultDispatcher { // 100 is same default length as Arb.list - checkAll(Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> + @Test fun parMapRunsOnProvidedContext(): Unit = runBlocking(Dispatchers.Default) { // 100 is same default length as Arb.list + checkAll(10, Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> val res = resourceScope { (0 until i).parMap(single()) { Thread.currentThread().name } } @@ -17,8 +19,8 @@ class ParMapJvmTest { } } - @Test fun parMapConcurrency3RunsOnProvidedContext() = runTestUsingDefaultDispatcher { - checkAll(Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> + @Test fun parMapConcurrency3RunsOnProvidedContext(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> val res = resourceScope { (0 until i).parMap(single(), concurrency = 3) { Thread.currentThread().name @@ -28,8 +30,8 @@ class ParMapJvmTest { } } - @Test fun parMapOrAccumulateCombineEmptyErrorRunsOnProvidedContext() = runTestUsingDefaultDispatcher { // 100 is same default length as Arb.list - checkAll(Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> + @Test fun parMapOrAccumulateCombineEmptyErrorRunsOnProvidedContext(): Unit = runBlocking(Dispatchers.Default) { // 100 is same default length as Arb.list + checkAll(10, Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> val res = resourceScope { (0 until i).parMapOrAccumulate(single(), combine = emptyError) { Thread.currentThread().name } } @@ -40,8 +42,8 @@ class ParMapJvmTest { } } - @Test fun parMapOrAccumulateCombineEmptyErrorConcurrency3RunsOnProvidedContext() = runTestUsingDefaultDispatcher { // 100 is same default length as Arb.list - checkAll(Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> + @Test fun parMapOrAccumulateCombineEmptyErrorConcurrency3RunsOnProvidedContext(): Unit = runBlocking(Dispatchers.Default) { // 100 is same default length as Arb.list + checkAll(10, Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> val res = resourceScope { (0 until i).parMapOrAccumulate( single(), @@ -56,8 +58,8 @@ class ParMapJvmTest { } } - @Test fun parMapOrAccumulateRunsOnProvidedContext() = runTestUsingDefaultDispatcher { // 100 is same default length as Arb.list - checkAll(Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> + @Test fun parMapOrAccumulateRunsOnProvidedContext(): Unit = runBlocking(Dispatchers.Default) { // 100 is same default length as Arb.list + checkAll(10, Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> val res = resourceScope { (0 until i).parMapOrAccumulate(single()) { Thread.currentThread().name @@ -70,8 +72,8 @@ class ParMapJvmTest { } } - @Test fun parMapOrAccumulateConcurrency3RunsOnProvidedContext() = runTestUsingDefaultDispatcher { // 100 is same default length as Arb.list - checkAll(Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> + @Test fun parMapOrAccumulateConcurrency3RunsOnProvidedContext(): Unit = runBlocking(Dispatchers.Default) { // 100 is same default length as Arb.list + checkAll(10, Arb.int(min = Int.MIN_VALUE, max = 100)) { i -> val res = resourceScope { (0 until i).parMapOrAccumulate(single(), concurrency = 3) { diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip2JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip2JvmTest.kt index 09b631ff251..ff84fa64069 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip2JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip2JvmTest.kt @@ -5,75 +5,83 @@ import io.kotest.assertions.assertSoftly import io.kotest.matchers.should import io.kotest.matchers.string.shouldStartWith import io.kotest.mpp.NamedThreadFactory -import io.kotest.property.Arb -import io.kotest.property.arbitrary.int -import io.kotest.property.arbitrary.string -import io.kotest.property.checkAll import java.util.concurrent.Executors -import kotlinx.coroutines.awaitCancellation -import kotlinx.coroutines.withContext import kotlin.coroutines.CoroutineContext import kotlin.test.Test -import kotlin.time.Duration.Companion.seconds +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.awaitCancellation +import kotlinx.coroutines.runBlocking +import kotlinx.coroutines.withContext class ParZip2JvmTest { - @Test fun parZip2ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { - val zipCtxName = "parZip2" - resourceScope { - val zipCtx = executor { Executors.newFixedThreadPool(2, NamedThreadFactory(zipCtxName)) } - withContext(single()) { - Thread.currentThread().name shouldStartWith "single" + @Test + fun parZip2ReturnsToOriginalContext(): Unit = + runBlocking(context = Dispatchers.Default) { + val zipCtxName = "parZip2" + resourceScope { + val zipCtx = executor { Executors.newFixedThreadPool(2, NamedThreadFactory(zipCtxName)) } + withContext(single()) { + Thread.currentThread().name shouldStartWith "single" - val (s1, s2) = parZip( - zipCtx, - { Thread.currentThread().name }, - { Thread.currentThread().name }) { a, b -> Pair(a, b) } + val (s1, s2) = + parZip(zipCtx, { Thread.currentThread().name }, { Thread.currentThread().name }) { + a, + b -> + Pair(a, b) + } - s1 shouldStartWith zipCtxName - s2 shouldStartWith zipCtxName - Thread.currentThread().name shouldStartWith "single" + s1 shouldStartWith zipCtxName + s2 shouldStartWith zipCtxName + Thread.currentThread().name shouldStartWith "single" + } + } } - } - } - @Test fun parZip2ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { - val zipCtxName = "parZip2" - resourceScope { - val zipCtx = executor { Executors.newFixedThreadPool(2, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..2), Arb.throwable()) { choose, e -> - withContext(single()) { - Thread.currentThread().name shouldStartWith "single" - Either.catch { - when (choose) { - 1 -> parZip(zipCtx, { throw e }, { awaitCancellation() }) { _, _ -> Unit } - else -> parZip(zipCtx, { awaitCancellation() }, { throw e }) { _, _ -> Unit } - } - } should leftException(e) + @Test + fun parZip2ReturnsToOriginalContextOnFailureRight(): Unit = + parZip2ReturnsToOriginalContextOnFailure(true) - Thread.currentThread().name shouldStartWith "single" + @Test + fun parZip2ReturnsToOriginalContextOnFailureLeft(): Unit = + parZip2ReturnsToOriginalContextOnFailure(false) + + private fun parZip2ReturnsToOriginalContextOnFailure(choose: Boolean): Unit = + runBlocking(context = Dispatchers.Default) { + val zipCtxName = "parZip2" + resourceScope { + val zipCtx = executor { Executors.newFixedThreadPool(2, NamedThreadFactory(zipCtxName)) } + val e = RuntimeException("Boom") + withContext(single()) { + Thread.currentThread().name shouldStartWith "single" + + Either.catch { + if (choose) parZip(zipCtx, { throw e }, { awaitCancellation() }) { _, _ -> Unit } + else parZip(zipCtx, { awaitCancellation() }, { throw e }) { _, _ -> Unit } + } should leftException(e) + + Thread.currentThread().name shouldStartWith "single" + } } } - } - } - @Test fun parZip2FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { - val res = resourceScope { - val ctx = singleThreadContext("single") - parZip(ctx, { Thread.currentThread().name }, { Thread.currentThread().name }) { a, b -> listOf(a, b) } - } - assertSoftly { - res.forEach { it shouldStartWith "single" } + @Test + fun parZip2FinishesOnSingleThread(): Unit = + runBlocking(context = Dispatchers.Default) { + val res = resourceScope { + val ctx = singleThreadContext("single") + parZip(ctx, { Thread.currentThread().name }, { Thread.currentThread().name }) { a, b -> + listOf(a, b) + } + } + assertSoftly { res.forEach { it shouldStartWith "single" } } } - } - } } suspend fun parallelCtx( - nThreads: Int, - mapCtxName: String, - use: suspend (CoroutineContext, CoroutineContext) -> Unit, + nThreads: Int, + mapCtxName: String, + use: suspend (CoroutineContext, CoroutineContext) -> Unit, ): Unit = resourceScope { use(singleThreadContext("single"), fixedThreadPoolContext(nThreads, mapCtxName)) } diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip3JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip3JvmTest.kt index 4a2bc4ae88e..49ca6111e01 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip3JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip3JvmTest.kt @@ -9,14 +9,16 @@ import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.string import io.kotest.property.checkAll +import kotlinx.coroutines.Dispatchers import java.util.concurrent.Executors import kotlinx.coroutines.awaitCancellation +import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext import kotlin.test.Test import kotlin.time.Duration.Companion.seconds class ParZip3JvmTest { - @Test fun parZip3ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { + @Test fun parZip3ReturnsToOriginalContext(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip3" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(3, NamedThreadFactory(zipCtxName)) } @@ -36,12 +38,12 @@ class ParZip3JvmTest { } } - @Test fun parZip3ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { + @Test fun parZip3ReturnsToOriginalContextOnFailure(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip3" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(3, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..3), Arb.throwable()) { choose, e -> + checkAll(10, Arb.int(1..3), Arb.throwable()) { choose, e -> withContext(single()) { Thread.currentThread().name shouldStartWith "single" @@ -76,8 +78,8 @@ class ParZip3JvmTest { } } - @Test fun parZip3FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { + @Test fun parZip3FinishesOnSingleThread(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.string()) { val res = resourceScope { val ctx = singleThreadContext("single") parZip( diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip4JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip4JvmTest.kt index 763b8c14f2b..f80bd554709 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip4JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip4JvmTest.kt @@ -10,14 +10,16 @@ import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.string import io.kotest.property.checkAll +import kotlinx.coroutines.Dispatchers import java.util.concurrent.Executors import kotlinx.coroutines.awaitCancellation +import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext import kotlin.test.Test import kotlin.time.Duration.Companion.seconds class ParZip4JvmTest { - @Test fun parZip4ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { + @Test fun parZip4ReturnsToOriginalContext(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip4" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(4, NamedThreadFactory(zipCtxName)) } @@ -42,12 +44,12 @@ class ParZip4JvmTest { } } - @Test fun parZip4ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { + @Test fun parZip4ReturnsToOriginalContextOnFailure(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip4" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(4, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..4), Arb.throwable()) { choose, e -> + checkAll(10, Arb.int(1..4), Arb.throwable()) { choose, e -> withContext(single()) { Thread.currentThread().name shouldStartWith "single" @@ -93,8 +95,8 @@ class ParZip4JvmTest { } } - @Test fun parZip4FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { + @Test fun parZip4FinishesOnSingleThread(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.string()) { val res = resourceScope { val ctx = singleThreadContext("single") parZip( diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip5JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip5JvmTest.kt index ad6869b306f..3562d9b300e 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip5JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip5JvmTest.kt @@ -10,10 +10,8 @@ import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.string import io.kotest.property.checkAll +import kotlinx.coroutines.* import java.util.concurrent.Executors -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.awaitCancellation -import kotlinx.coroutines.withContext import kotlin.test.Test import kotlin.time.Duration.Companion.seconds @@ -21,7 +19,7 @@ class ParZip5JvmTest { val threadName: suspend CoroutineScope.() -> String = { Thread.currentThread().name } - @Test fun parZip5ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { + @Test fun parZip5ReturnsToOriginalContext(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip5" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(5, NamedThreadFactory(zipCtxName)) } @@ -43,12 +41,12 @@ class ParZip5JvmTest { } } - @Test fun parZip5ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { + @Test fun parZip5ReturnsToOriginalContextOnFailure(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip5" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(5, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..5), Arb.throwable()) { choose, e -> + checkAll(10, Arb.int(1..5), Arb.throwable()) { choose, e -> withContext(single()) { threadName() shouldStartWith "single" @@ -107,8 +105,8 @@ class ParZip5JvmTest { } } - @Test fun parZip5FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { + @Test fun parZip5FinishesOnSingleThread(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.string()) { val res = resourceScope { val ctx = singleThreadContext("single") parZip(ctx, threadName, threadName, threadName, threadName, threadName) { a, b, c, d, e -> diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip6JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip6JvmTest.kt index 1e37b0e8768..6e327e9c2ee 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip6JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip6JvmTest.kt @@ -10,10 +10,8 @@ import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.string import io.kotest.property.checkAll +import kotlinx.coroutines.* import java.util.concurrent.Executors -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.awaitCancellation -import kotlinx.coroutines.withContext import kotlin.test.Test import kotlin.time.Duration.Companion.seconds @@ -21,7 +19,7 @@ class ParZip6JvmTest { val threadName: suspend CoroutineScope.() -> String = { Thread.currentThread().name } - @Test fun parZip6ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { + @Test fun parZip6ReturnsToOriginalContext(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip6" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(6, NamedThreadFactory(zipCtxName)) } @@ -46,12 +44,12 @@ class ParZip6JvmTest { } } - @Test fun parZip6ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { + @Test fun parZip6ReturnsToOriginalContextOnFailure(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip6" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(6, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..6), Arb.throwable()) { choose, e -> + checkAll(10, Arb.int(1..6), Arb.throwable()) { choose, e -> withContext(single()) { threadName() shouldStartWith "single" @@ -124,8 +122,8 @@ class ParZip6JvmTest { } } - @Test fun parZip6FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { + @Test fun parZip6FinishesOnSingleThread(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.string()) { val res = resourceScope { val ctx = singleThreadContext("single") parZip(ctx, threadName, threadName, threadName, threadName, threadName, threadName) { a, b, c, d, e, f -> diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip7JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip7JvmTest.kt index fe8d2fc5e85..50a2a6b1176 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip7JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip7JvmTest.kt @@ -10,10 +10,8 @@ import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.string import io.kotest.property.checkAll +import kotlinx.coroutines.* import java.util.concurrent.Executors -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.awaitCancellation -import kotlinx.coroutines.withContext import kotlin.test.Test import kotlin.time.Duration.Companion.seconds @@ -21,7 +19,7 @@ class ParZip7JvmTest { val threadName: suspend CoroutineScope.() -> String = { Thread.currentThread().name } - @Test fun parZip7ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { + @Test fun parZip7ReturnsToOriginalContext(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip7" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(7, NamedThreadFactory(zipCtxName)) } @@ -47,12 +45,12 @@ class ParZip7JvmTest { } } - @Test fun parZip7ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { + @Test fun parZip7ReturnsToOriginalContextOnFailure(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip7" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(7, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..7), Arb.throwable()) { choose, e -> + checkAll(10, Arb.int(1..7), Arb.throwable()) { choose, e -> withContext(single()) { threadName() shouldStartWith "single" @@ -142,8 +140,8 @@ class ParZip7JvmTest { } } - @Test fun parZip7FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { + @Test fun parZip7FinishesOnSingleThread(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.string()) { val res = resourceScope { val ctx = singleThreadContext("single") parZip( diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip8JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip8JvmTest.kt index 25d90771a30..1d53c7c26cb 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip8JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip8JvmTest.kt @@ -10,10 +10,8 @@ import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.string import io.kotest.property.checkAll +import kotlinx.coroutines.* import java.util.concurrent.Executors -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.awaitCancellation -import kotlinx.coroutines.withContext import kotlin.test.Test import kotlin.time.Duration.Companion.seconds @@ -21,7 +19,7 @@ class ParZip8JvmTest { val threadName: suspend CoroutineScope.() -> String = { Thread.currentThread().name } - @Test fun parZip8ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { + @Test fun parZip8ReturnsToOriginalContext(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip8" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(8, NamedThreadFactory(zipCtxName)) } @@ -48,12 +46,12 @@ class ParZip8JvmTest { } - @Test fun parZip8ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { + @Test fun parZip8ReturnsToOriginalContextOnFailure(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip8" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(8, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..8), Arb.throwable()) { choose, e -> + checkAll(10, Arb.int(1..8), Arb.throwable()) { choose, e -> withContext(single()) { threadName() shouldStartWith "single" @@ -160,8 +158,8 @@ class ParZip8JvmTest { } } - @Test fun parZip8FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { + @Test fun parZip8FinishesOnSingleThread(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.string()) { val res = resourceScope { val ctx = singleThreadContext("single") parZip( diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip9JvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip9JvmTest.kt index 89d18c47c86..ae7f86a2db2 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip9JvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ParZip9JvmTest.kt @@ -10,9 +10,7 @@ import io.kotest.property.Arb import io.kotest.property.arbitrary.int import io.kotest.property.arbitrary.string import io.kotest.property.checkAll -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.awaitCancellation -import kotlinx.coroutines.withContext +import kotlinx.coroutines.* import kotlin.test.Test import java.util.concurrent.Executors import kotlin.time.Duration.Companion.seconds @@ -21,7 +19,7 @@ class ParZip9JvmTest { val threadName: suspend CoroutineScope.() -> String = { Thread.currentThread().name } - @Test fun parZip9ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { + @Test fun parZip9ReturnsToOriginalContext(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip9" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(9, NamedThreadFactory(zipCtxName)) } @@ -58,12 +56,12 @@ class ParZip9JvmTest { } - @Test fun parZip9ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { + @Test fun parZip9ReturnsToOriginalContextOnFailure(): Unit = runBlocking(Dispatchers.Default) { val zipCtxName = "parZip9" resourceScope { val zipCtx = executor { Executors.newFixedThreadPool(9, NamedThreadFactory(zipCtxName)) } - checkAll(Arb.int(1..9), Arb.throwable()) { choose, e -> + checkAll(10, Arb.int(1..9), Arb.throwable()) { choose, e -> withContext(single()) { threadName() shouldStartWith "single" @@ -193,8 +191,8 @@ class ParZip9JvmTest { } } - @Test fun parZip9FinishesOnSingleThread() = runTestUsingDefaultDispatcher { - checkAll(Arb.string()) { + @Test fun parZip9FinishesOnSingleThread(): Unit = runBlocking(Dispatchers.Default) { + checkAll(10, Arb.string()) { val res = resourceScope { parZip( single(), diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/RaceNJvmTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/RaceNJvmTest.kt index 83f56602c8d..941f0b7f4c4 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/RaceNJvmTest.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/RaceNJvmTest.kt @@ -4,120 +4,156 @@ import arrow.core.Either import arrow.core.identity import io.kotest.matchers.should import io.kotest.matchers.string.shouldStartWith -import io.kotest.property.Arb -import io.kotest.property.arbitrary.int -import io.kotest.property.checkAll +import kotlin.test.Test +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.awaitCancellation +import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext -import kotlin.test.Test -import kotlin.time.Duration.Companion.seconds class RaceNJvmTest { - @Test fun race2ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { - val racerName = "race2" - checkAll(Arb.int(1..2)) { choose -> + private fun race2ReturnsToOriginalContext(choose: Boolean): Unit = + runBlocking(Dispatchers.Default) { + val racerName = "race2" resourceScope { val pool = fixedThreadPoolContext(2, racerName) withContext(singleThreadContext("single")) { Thread.currentThread().name shouldStartWith "single" - - val racedOn = when (choose) { - 1 -> raceN(pool, { Thread.currentThread().name }, { awaitCancellation() }).swap().getOrNull() - else -> raceN(pool, { awaitCancellation() }, { Thread.currentThread().name }).getOrNull() - } - + + val racedOn = + if (choose) + raceN( + pool, { Thread.currentThread().name }, { awaitCancellation() }) + .swap() + .getOrNull() + else + raceN( + pool, { awaitCancellation() }, { Thread.currentThread().name }) + .getOrNull() + racedOn shouldStartWith racerName Thread.currentThread().name shouldStartWith "single" } } } - } - @Test fun race2ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { - val racerName = "race2" - - checkAll(Arb.int(1..2), Arb.throwable()) { choose, e -> + @Test fun race2ReturnsToOriginalContextRight() = race2ReturnsToOriginalContext(true) + + @Test fun race2ReturnsToOriginalContextLeft() = race2ReturnsToOriginalContext(false) + + private fun race2ReturnsToOriginalContextOnFailure(right: Boolean): Unit = + runBlocking(Dispatchers.Default) { + val racerName = "race2" + resourceScope { val pool = fixedThreadPoolContext(2, racerName) + val e = RuntimeException("Boom") withContext(singleThreadContext("single")) { Thread.currentThread().name shouldStartWith "single" - Either.catch { - when (choose) { - 1 -> raceN(pool, { throw e }, { awaitCancellation() }).swap().getOrNull() - else -> raceN(pool, { awaitCancellation() }, { throw e }).getOrNull() - } + if (right) raceN(pool, { throw e }, { awaitCancellation() }).swap().getOrNull() + else raceN(pool, { awaitCancellation() }, { throw e }).getOrNull() } should leftException(e) - + Thread.currentThread().name shouldStartWith "single" } } } - } - - @Test fun firstRacerOutOf2AlwaysWinsOnASingleThread() = runTestUsingDefaultDispatcher { - resourceScope { - val ctx = singleThreadContext("single") - raceN(ctx, { Thread.currentThread().name }, { Thread.currentThread().name }) - }.swap().getOrNull() shouldStartWith "single" - } - - @Test fun race3ReturnsToOriginalContext() = runTestUsingDefaultDispatcher { - val racerName = "race3" - - checkAll(Arb.int(1..3)) { choose -> + + @Test + fun race2ReturnsToOriginalContextOnFailureLeft(): Unit = + race2ReturnsToOriginalContextOnFailure(false) + + @Test + fun race2ReturnsToOriginalContextOnFailureRight(): Unit = + race2ReturnsToOriginalContextOnFailure(true) + + @Test + fun firstRacerOutOf2AlwaysWinsOnASingleThread(): Unit = + runBlocking(Dispatchers.Default) { + resourceScope { + val ctx = singleThreadContext("single") + raceN(ctx, { Thread.currentThread().name }, { Thread.currentThread().name }) + } + .swap() + .getOrNull() shouldStartWith "single" + } + + @Test fun race3ReturnsToOriginalContextRight(): Unit = race3ReturnsToOriginalContext(true) + + @Test fun race3ReturnsToOriginalContextMiddle(): Unit = race3ReturnsToOriginalContext(false) + + @Test fun race3ReturnsToOriginalContextLast(): Unit = race3ReturnsToOriginalContext(null) + + private fun race3ReturnsToOriginalContext(choose: Boolean?): Unit = + runBlocking(Dispatchers.Default) { + val racerName = "race3" parallelCtx(3, racerName) { single, raceCtx -> withContext(single) { Thread.currentThread().name shouldStartWith "single" - - val racedOn = when (choose) { - 1 -> - raceN(raceCtx, { Thread.currentThread().name }, { awaitCancellation() }, { awaitCancellation() }) - .fold(::identity, { null }, { null }) - - 2 -> - raceN(raceCtx, { awaitCancellation() }, { Thread.currentThread().name }, { awaitCancellation() }) - .fold({ null }, ::identity, { null }) - - else -> - raceN(raceCtx, { awaitCancellation() }, { awaitCancellation() }, { Thread.currentThread().name }) - .fold({ null }, { null }, ::identity) - } - + + val racedOn = + when (choose) { + true -> + raceN( + raceCtx, + { Thread.currentThread().name }, + { awaitCancellation() }, + { awaitCancellation() }) + .fold(::identity, { null }, { null }) + + false -> + raceN( + raceCtx, + { awaitCancellation() }, + { Thread.currentThread().name }, + { awaitCancellation() }) + .fold({ null }, ::identity, { null }) + + null -> + raceN( + raceCtx, + { awaitCancellation() }, + { awaitCancellation() }, + { Thread.currentThread().name }) + .fold({ null }, { null }, ::identity) + } + racedOn shouldStartWith racerName Thread.currentThread().name shouldStartWith "single" } } } - } - - @Test fun race3ReturnsToOriginalContextOnFailure() = runTestUsingDefaultDispatcher { - val racerName = "race3" - - checkAll(Arb.int(1..3), Arb.throwable()) { choose, e -> + + @Test fun race3ReturnsToOriginalContextOnFailureRight(): Unit = race3ReturnsToOriginalContextOnFailure(true) + @Test fun race3ReturnsToOriginalContextOnFailureMiddle(): Unit = race3ReturnsToOriginalContextOnFailure(false) + @Test fun race3ReturnsToOriginalContextOnFailureLast(): Unit = race3ReturnsToOriginalContextOnFailure(null) + + private fun race3ReturnsToOriginalContextOnFailure(choose: Boolean?): Unit = + runBlocking(Dispatchers.Default) { + val racerName = "race3" + val e = RuntimeException("Boom") parallelCtx(3, racerName) { single, raceCtx -> withContext(single) { Thread.currentThread().name shouldStartWith "single" - + Either.catch { when (choose) { - 1 -> - raceN(raceCtx, { throw e }, { awaitCancellation() }, { awaitCancellation() }) - .fold({ x: String? -> x }, { null }, { null }) - - 2 -> - raceN(raceCtx, { awaitCancellation() }, { throw e }, { awaitCancellation() }) - .fold({ null }, { x: String? -> x }, { null }) - - else -> - raceN(raceCtx, { awaitCancellation() }, { awaitCancellation() }, { throw e }) - .fold({ null }, { null }, { x: String? -> x }) + true -> + raceN(raceCtx, { throw e }, { awaitCancellation() }, { awaitCancellation() }) + .fold({ x: String? -> x }, { null }, { null }) + + false -> + raceN(raceCtx, { awaitCancellation() }, { throw e }, { awaitCancellation() }) + .fold({ null }, { x: String? -> x }, { null }) + + null -> + raceN(raceCtx, { awaitCancellation() }, { awaitCancellation() }, { throw e }) + .fold({ null }, { null }, { x: String? -> x }) } } should leftException(e) - + Thread.currentThread().name shouldStartWith "single" } } } - } - } +} diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ResourceTestJvm.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ResourceTestJvm.kt index 20f21fd44cb..e16df010762 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ResourceTestJvm.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ResourceTestJvm.kt @@ -2,20 +2,18 @@ package arrow.fx.coroutines import io.kotest.assertions.throwables.shouldThrow import io.kotest.matchers.shouldBe -import io.kotest.matchers.types.shouldBeTypeOf import java.util.concurrent.atomic.AtomicBoolean import java.lang.AutoCloseable import java.io.Closeable import io.kotest.property.Arb import io.kotest.property.checkAll -import kotlinx.coroutines.CompletableDeferred import kotlin.test.DefaultAsserter.fail import kotlinx.coroutines.test.runTest import kotlin.test.Test class ResourceTestJvm { - class AutoCloseableTest : AutoCloseable { + class AutoCloseableJvmTest : AutoCloseable { val didClose = AtomicBoolean(false) override fun close() = didClose.set(true) } @@ -25,8 +23,8 @@ class ResourceTestJvm { override fun close() = didClose.set(true) } - @Test fun autoCloseableCloses() = runTest { - val t = AutoCloseableTest() + @Test fun autoCloseableJvmCloses() = runTest { + val t = AutoCloseableJvmTest() resourceScope { autoCloseable { t } } @@ -34,9 +32,9 @@ class ResourceTestJvm { t.didClose.get() shouldBe true } - @Test fun autoCloseableClosesOnError() = runTest { - checkAll(Arb.throwable()) { throwable -> - val t = AutoCloseableTest() + @Test fun autoCloseableJvmClosesOnError() = runTest { + checkAll(10, Arb.throwable()) { throwable -> + val t = AutoCloseableJvmTest() shouldThrow { resourceScope { @@ -60,7 +58,7 @@ class ResourceTestJvm { } @Test fun closeableClosesOnError() = runTest { - checkAll(Arb.throwable()) { throwable -> + checkAll(10, Arb.throwable()) { throwable -> val t = CloseableTest() shouldThrow { diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-01.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-01.kt index 9bcd7615eb9..b0c16a5c818 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-01.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-01.kt @@ -7,6 +7,7 @@ import kotlinx.coroutines.flow.toList import kotlinx.coroutines.flow.collect import arrow.fx.coroutines.parMap +@OptIn(kotlinx.coroutines.FlowPreview::class, kotlinx.coroutines.ExperimentalCoroutinesApi::class) suspend fun main(): Unit { flowOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) .parMap { a -> diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-03.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-03.kt index 0f9ef5e5074..75d7f582c2d 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-03.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-03.kt @@ -7,6 +7,7 @@ import kotlinx.coroutines.flow.toList import kotlinx.coroutines.flow.collect import arrow.fx.coroutines.parMapUnordered +@OptIn(kotlinx.coroutines.FlowPreview::class, kotlinx.coroutines.ExperimentalCoroutinesApi::class) suspend fun main(): Unit { flowOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) .parMapUnordered { a -> diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-04.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-04.kt index 8968edc20ad..b92d3d94de2 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-04.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-04.kt @@ -7,6 +7,7 @@ import kotlinx.coroutines.flow.toList import kotlinx.coroutines.flow.collect import arrow.fx.coroutines.parMapNotNullUnordered +@OptIn(kotlinx.coroutines.FlowPreview::class, kotlinx.coroutines.ExperimentalCoroutinesApi::class) suspend fun main(): Unit { flowOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) .parMapNotNullUnordered { a -> diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-05.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-05.kt deleted file mode 100644 index 9b232bbd848..00000000000 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-05.kt +++ /dev/null @@ -1,16 +0,0 @@ -// This file was automatically generated from flow.kt by Knit tool. Do not edit. -package arrow.fx.coroutines.examples.exampleFlow05 - -import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.flowOf -import kotlinx.coroutines.flow.toList -import kotlinx.coroutines.flow.collect -import arrow.fx.coroutines.parMapNotNullUnordered - -suspend fun main(): Unit { - flowOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) - .parMapNotNullUnordered { a -> - delay(100) - a.takeIf { a % 2 == 0 } - }.toList() // [4, 6, 2, 8, 10] -} diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-08.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-08.kt index 75766ca0c09..ca3eda974f0 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-08.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-08.kt @@ -7,6 +7,7 @@ import kotlinx.coroutines.flow.* import java.nio.file.Path import kotlin.io.path.* +@OptIn(ExperimentalCoroutinesApi::class) fun Flow.writeAll(path: Path): Flow = closeable { path.toFile().outputStream() } .asFlow() diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-09.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-09.kt index c2642bb90dd..25d419e8151 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-09.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-09.kt @@ -7,6 +7,7 @@ import arrow.fx.coroutines.ExitCase.Companion.ExitCase val resource = resource({ "Acquire" }) { _, exitCase -> println("Release $exitCase") } +@OptIn(kotlinx.coroutines.DelicateCoroutinesApi::class) suspend fun main(): Unit { val (acquired: String, release: suspend (ExitCase) -> Unit) = resource.allocated() try { diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-10.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-10.kt new file mode 100644 index 00000000000..b6307a6cd44 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-10.kt @@ -0,0 +1,13 @@ +// This file was automatically generated from Resource.kt by Knit tool. Do not edit. +package arrow.fx.coroutines.examples.exampleResource10 + +import arrow.fx.coroutines.resourceScope +import arrow.fx.coroutines.autoCloseable +import java.io.FileInputStream + +suspend fun copyFile(src: String, dest: String): Unit = + resourceScope { + val a: FileInputStream = autoCloseable { FileInputStream(src) } + val b: FileInputStream = autoCloseable { FileInputStream(dest) } + /** read from [a] and write to [b]. **/ + } // Both resources will be closed accordingly to their #close methods diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-03.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-03.kt index cbdf566e457..673f6814b01 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-03.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-03.kt @@ -2,12 +2,13 @@ package arrow.fx.coroutines.examples.exampleResourceextensions03 import arrow.fx.coroutines.resourceScope -import arrow.fx.coroutines.autoCloseable -import java.io.FileInputStream +import arrow.fx.coroutines.singleThreadContext +import kotlinx.coroutines.withContext +import kotlinx.coroutines.ExecutorCoroutineDispatcher -suspend fun copyFile(src: String, dest: String): Unit = - resourceScope { - val a: FileInputStream = autoCloseable { FileInputStream(src) } - val b: FileInputStream = autoCloseable { FileInputStream(dest) } - /** read from [a] and write to [b]. **/ - } // Both resources will be closed accordingly to their #close methods +suspend fun main(): Unit = resourceScope { + val single: ExecutorCoroutineDispatcher = singleThreadContext("single") + withContext(single) { + println("I am running on ${Thread.currentThread().name}") + } +} diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-04.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-04.kt index 82a7d7c1ae0..56f0737fa64 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-04.kt +++ b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-04.kt @@ -1,14 +1,14 @@ // This file was automatically generated from ResourceExtensions.kt by Knit tool. Do not edit. package arrow.fx.coroutines.examples.exampleResourceextensions04 +import arrow.fx.coroutines.fixedThreadPoolContext import arrow.fx.coroutines.resourceScope -import arrow.fx.coroutines.singleThreadContext import kotlinx.coroutines.withContext import kotlinx.coroutines.ExecutorCoroutineDispatcher suspend fun main(): Unit = resourceScope { - val single: ExecutorCoroutineDispatcher = singleThreadContext("single") - withContext(single) { + val pool: ExecutorCoroutineDispatcher = fixedThreadPoolContext(8, "custom-pool") + withContext(pool) { println("I am running on ${Thread.currentThread().name}") } } diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-05.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-05.kt deleted file mode 100644 index 9b7080d25a3..00000000000 --- a/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-05.kt +++ /dev/null @@ -1,14 +0,0 @@ -// This file was automatically generated from ResourceExtensions.kt by Knit tool. Do not edit. -package arrow.fx.coroutines.examples.exampleResourceextensions05 - -import arrow.fx.coroutines.fixedThreadPoolContext -import arrow.fx.coroutines.resourceScope -import kotlinx.coroutines.withContext -import kotlinx.coroutines.ExecutorCoroutineDispatcher - -suspend fun main(): Unit = resourceScope { - val pool: ExecutorCoroutineDispatcher = fixedThreadPoolContext(8, "custom-pool") - withContext(pool) { - println("I am running on ${Thread.currentThread().name}") - } -} diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/nativeMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt b/arrow-libs/fx/arrow-fx-coroutines/src/nativeMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt new file mode 100644 index 00000000000..5541891a4fa --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/src/nativeMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt @@ -0,0 +1,7 @@ +package arrow.fx.coroutines + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.IO + +internal actual val IODispatcher: CoroutineDispatcher = Dispatchers.IO diff --git a/arrow-libs/fx/arrow-fx-coroutines/src/wasmJsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt b/arrow-libs/fx/arrow-fx-coroutines/src/wasmJsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt new file mode 100644 index 00000000000..79d11ad184d --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/src/wasmJsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt @@ -0,0 +1,6 @@ +package arrow.fx.coroutines + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers + +internal actual val IODispatcher: CoroutineDispatcher = Dispatchers.Main diff --git a/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.api b/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.api index 3e6770ca1b5..b179f43e450 100644 --- a/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.api +++ b/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.api @@ -7,6 +7,8 @@ public abstract interface class arrow/fx/stm/STM { public abstract fun fold (Larrow/fx/stm/TArray;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; public abstract fun get (Larrow/fx/stm/TArray;I)Ljava/lang/Object; public abstract fun get (Larrow/fx/stm/TMap;Ljava/lang/Object;)Ljava/lang/Object; + public abstract fun getValue (Larrow/fx/stm/TVar;)Ljava/lang/Object; + public abstract fun getValue (Larrow/fx/stm/TVar;Ljava/lang/Void;Lkotlin/reflect/KProperty;)Ljava/lang/Object; public abstract fun insert (Larrow/fx/stm/TMap;Ljava/lang/Object;Ljava/lang/Object;)V public abstract fun insert (Larrow/fx/stm/TSet;Ljava/lang/Object;)V public abstract fun isEmpty (Larrow/fx/stm/TMVar;)Z @@ -35,6 +37,8 @@ public abstract interface class arrow/fx/stm/STM { public abstract fun retry ()Ljava/lang/Void; public abstract fun set (Larrow/fx/stm/TArray;ILjava/lang/Object;)V public abstract fun set (Larrow/fx/stm/TMap;Ljava/lang/Object;Ljava/lang/Object;)V + public abstract fun set (Larrow/fx/stm/TVar;Ljava/lang/Object;)V + public abstract fun setValue (Larrow/fx/stm/TVar;Ljava/lang/Void;Lkotlin/reflect/KProperty;Ljava/lang/Object;)V public abstract fun size (Larrow/fx/stm/TQueue;)I public abstract fun swap (Larrow/fx/stm/TMVar;Ljava/lang/Object;)Ljava/lang/Object; public abstract fun swap (Larrow/fx/stm/TVar;Ljava/lang/Object;)Ljava/lang/Object; @@ -61,6 +65,8 @@ public final class arrow/fx/stm/STM$DefaultImpls { public static fun fold (Larrow/fx/stm/STM;Larrow/fx/stm/TArray;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object; public static fun get (Larrow/fx/stm/STM;Larrow/fx/stm/TArray;I)Ljava/lang/Object; public static fun get (Larrow/fx/stm/STM;Larrow/fx/stm/TMap;Ljava/lang/Object;)Ljava/lang/Object; + public static fun getValue (Larrow/fx/stm/STM;Larrow/fx/stm/TVar;)Ljava/lang/Object; + public static fun getValue (Larrow/fx/stm/STM;Larrow/fx/stm/TVar;Ljava/lang/Void;Lkotlin/reflect/KProperty;)Ljava/lang/Object; public static fun insert (Larrow/fx/stm/STM;Larrow/fx/stm/TMap;Ljava/lang/Object;Ljava/lang/Object;)V public static fun insert (Larrow/fx/stm/STM;Larrow/fx/stm/TSet;Ljava/lang/Object;)V public static fun isEmpty (Larrow/fx/stm/STM;Larrow/fx/stm/TMVar;)Z @@ -86,6 +92,8 @@ public final class arrow/fx/stm/STM$DefaultImpls { public static fun removeAll (Larrow/fx/stm/STM;Larrow/fx/stm/TQueue;Lkotlin/jvm/functions/Function1;)V public static fun set (Larrow/fx/stm/STM;Larrow/fx/stm/TArray;ILjava/lang/Object;)V public static fun set (Larrow/fx/stm/STM;Larrow/fx/stm/TMap;Ljava/lang/Object;Ljava/lang/Object;)V + public static fun set (Larrow/fx/stm/STM;Larrow/fx/stm/TVar;Ljava/lang/Object;)V + public static fun setValue (Larrow/fx/stm/STM;Larrow/fx/stm/TVar;Ljava/lang/Void;Lkotlin/reflect/KProperty;Ljava/lang/Object;)V public static fun size (Larrow/fx/stm/STM;Larrow/fx/stm/TQueue;)I public static fun swap (Larrow/fx/stm/STM;Larrow/fx/stm/TMVar;Ljava/lang/Object;)Ljava/lang/Object; public static fun swap (Larrow/fx/stm/STM;Larrow/fx/stm/TVar;Ljava/lang/Object;)Ljava/lang/Object; @@ -111,8 +119,6 @@ public final class arrow/fx/stm/STMKt { public final class arrow/fx/stm/TArray { public static final field Companion Larrow/fx/stm/TArray$Companion; - public final fun copy ([Larrow/fx/stm/TVar;)Larrow/fx/stm/TArray; - public static synthetic fun copy$default (Larrow/fx/stm/TArray;[Larrow/fx/stm/TVar;ILjava/lang/Object;)Larrow/fx/stm/TArray; public fun equals (Ljava/lang/Object;)Z public fun hashCode ()I public final fun size ()I @@ -135,8 +141,6 @@ public final class arrow/fx/stm/TArrayKt { public final class arrow/fx/stm/TMVar { public static final field Companion Larrow/fx/stm/TMVar$Companion; - public final fun copy (Larrow/fx/stm/TVar;)Larrow/fx/stm/TMVar; - public static synthetic fun copy$default (Larrow/fx/stm/TMVar;Larrow/fx/stm/TVar;ILjava/lang/Object;)Larrow/fx/stm/TMVar; public fun equals (Ljava/lang/Object;)Z public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -154,8 +158,6 @@ public final class arrow/fx/stm/TMVarKt { public final class arrow/fx/stm/TMap { public static final field Companion Larrow/fx/stm/TMap$Companion; - public final fun copy (Larrow/fx/stm/internal/Hamt;Lkotlin/jvm/functions/Function1;)Larrow/fx/stm/TMap; - public static synthetic fun copy$default (Larrow/fx/stm/TMap;Larrow/fx/stm/internal/Hamt;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Larrow/fx/stm/TMap; public fun equals (Ljava/lang/Object;)Z public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -173,8 +175,6 @@ public final class arrow/fx/stm/TMapKt { public final class arrow/fx/stm/TQueue { public static final field Companion Larrow/fx/stm/TQueue$Companion; - public final fun copy (Larrow/fx/stm/TVar;Larrow/fx/stm/TVar;)Larrow/fx/stm/TQueue; - public static synthetic fun copy$default (Larrow/fx/stm/TQueue;Larrow/fx/stm/TVar;Larrow/fx/stm/TVar;ILjava/lang/Object;)Larrow/fx/stm/TQueue; public fun equals (Ljava/lang/Object;)Z public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -190,8 +190,6 @@ public final class arrow/fx/stm/TQueueKt { public final class arrow/fx/stm/TSemaphore { public static final field Companion Larrow/fx/stm/TSemaphore$Companion; - public final fun copy (Larrow/fx/stm/TVar;)Larrow/fx/stm/TSemaphore; - public static synthetic fun copy$default (Larrow/fx/stm/TSemaphore;Larrow/fx/stm/TVar;ILjava/lang/Object;)Larrow/fx/stm/TSemaphore; public fun equals (Ljava/lang/Object;)Z public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -207,8 +205,6 @@ public final class arrow/fx/stm/TSemaphoreKt { public final class arrow/fx/stm/TSet { public static final field Companion Larrow/fx/stm/TSet$Companion; - public final fun copy (Larrow/fx/stm/internal/Hamt;Lkotlin/jvm/functions/Function1;)Larrow/fx/stm/TSet; - public static synthetic fun copy$default (Larrow/fx/stm/TSet;Larrow/fx/stm/internal/Hamt;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Larrow/fx/stm/TSet; public fun equals (Ljava/lang/Object;)Z public fun hashCode ()I public fun toString ()Ljava/lang/String; diff --git a/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.klib.api b/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.klib.api new file mode 100644 index 00000000000..95558702562 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.klib.api @@ -0,0 +1,167 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +abstract interface arrow.fx.stm/STM { // arrow.fx.stm/STM|null[0] + open val value // arrow.fx.stm/STM.value|@arrow.fx.stm.TVar<0:0>{0§}value[0] + open fun <#A2: kotlin/Any?> (arrow.fx.stm/TVar<#A2>).(): #A2 // arrow.fx.stm/STM.value.|@arrow.fx.stm.TVar<0:0>(){0§}[0] + + abstract fun <#A1: kotlin/Any?> (arrow.fx.stm/TVar<#A1>).read(): #A1 // arrow.fx.stm/STM.read|read@arrow.fx.stm.TVar<0:0>(){0§}[0] + abstract fun <#A1: kotlin/Any?> (arrow.fx.stm/TVar<#A1>).write(#A1) // arrow.fx.stm/STM.write|write@arrow.fx.stm.TVar<0:0>(0:0){0§}[0] + abstract fun <#A1: kotlin/Any?> (kotlin/Function1).orElse(kotlin/Function1): #A1 // arrow.fx.stm/STM.orElse|orElse@kotlin.Function1(kotlin.Function1){0§}[0] + abstract fun <#A1: kotlin/Any?> catch(kotlin/Function1, kotlin/Function2): #A1 // arrow.fx.stm/STM.catch|catch(kotlin.Function1;kotlin.Function2){0§}[0] + abstract fun retry(): kotlin/Nothing // arrow.fx.stm/STM.retry|retry(){}[0] + open fun (arrow.fx.stm/TSemaphore).acquire() // arrow.fx.stm/STM.acquire|acquire@arrow.fx.stm.TSemaphore(){}[0] + open fun (arrow.fx.stm/TSemaphore).acquire(kotlin/Int) // arrow.fx.stm/STM.acquire|acquire@arrow.fx.stm.TSemaphore(kotlin.Int){}[0] + open fun (arrow.fx.stm/TSemaphore).available(): kotlin/Int // arrow.fx.stm/STM.available|available@arrow.fx.stm.TSemaphore(){}[0] + open fun (arrow.fx.stm/TSemaphore).release() // arrow.fx.stm/STM.release|release@arrow.fx.stm.TSemaphore(){}[0] + open fun (arrow.fx.stm/TSemaphore).release(kotlin/Int) // arrow.fx.stm/STM.release|release@arrow.fx.stm.TSemaphore(kotlin.Int){}[0] + open fun (arrow.fx.stm/TSemaphore).tryAcquire(): kotlin/Boolean // arrow.fx.stm/STM.tryAcquire|tryAcquire@arrow.fx.stm.TSemaphore(){}[0] + open fun (arrow.fx.stm/TSemaphore).tryAcquire(kotlin/Int): kotlin/Boolean // arrow.fx.stm/STM.tryAcquire|tryAcquire@arrow.fx.stm.TSemaphore(kotlin.Int){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TArray<#A1>).fold(#B1, kotlin/Function2<#B1, #A1, #B1>): #B1 // arrow.fx.stm/STM.fold|fold@arrow.fx.stm.TArray<0:0>(0:1;kotlin.Function2<0:1,0:0,0:1>){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).get(#A1): #B1? // arrow.fx.stm/STM.get|get@arrow.fx.stm.TMap<0:0,0:1>(0:0){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).insert(#A1, #B1) // arrow.fx.stm/STM.insert|insert@arrow.fx.stm.TMap<0:0,0:1>(0:0;0:1){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).lookup(#A1): #B1? // arrow.fx.stm/STM.lookup|lookup@arrow.fx.stm.TMap<0:0,0:1>(0:0){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).member(#A1): kotlin/Boolean // arrow.fx.stm/STM.member|member@arrow.fx.stm.TMap<0:0,0:1>(0:0){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).plusAssign(kotlin/Pair<#A1, #B1>) // arrow.fx.stm/STM.plusAssign|plusAssign@arrow.fx.stm.TMap<0:0,0:1>(kotlin.Pair<0:0,0:1>){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).remove(#A1) // arrow.fx.stm/STM.remove|remove@arrow.fx.stm.TMap<0:0,0:1>(0:0){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).set(#A1, #B1) // arrow.fx.stm/STM.set|set@arrow.fx.stm.TMap<0:0,0:1>(0:0;0:1){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.fx.stm/TMap<#A1, #B1>).update(#A1, kotlin/Function1<#B1, #B1>) // arrow.fx.stm/STM.update|update@arrow.fx.stm.TMap<0:0,0:1>(0:0;kotlin.Function1<0:1,0:1>){0§;1§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TArray<#A1>).get(kotlin/Int): #A1 // arrow.fx.stm/STM.get|get@arrow.fx.stm.TArray<0:0>(kotlin.Int){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TArray<#A1>).set(kotlin/Int, #A1) // arrow.fx.stm/STM.set|set@arrow.fx.stm.TArray<0:0>(kotlin.Int;0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TArray<#A1>).transform(kotlin/Function1<#A1, #A1>) // arrow.fx.stm/STM.transform|transform@arrow.fx.stm.TArray<0:0>(kotlin.Function1<0:0,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).isEmpty(): kotlin/Boolean // arrow.fx.stm/STM.isEmpty|isEmpty@arrow.fx.stm.TMVar<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).isNotEmpty(): kotlin/Boolean // arrow.fx.stm/STM.isNotEmpty|isNotEmpty@arrow.fx.stm.TMVar<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).put(#A1) // arrow.fx.stm/STM.put|put@arrow.fx.stm.TMVar<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).read(): #A1 // arrow.fx.stm/STM.read|read@arrow.fx.stm.TMVar<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).swap(#A1): #A1 // arrow.fx.stm/STM.swap|swap@arrow.fx.stm.TMVar<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).take(): #A1 // arrow.fx.stm/STM.take|take@arrow.fx.stm.TMVar<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).tryPut(#A1): kotlin/Boolean // arrow.fx.stm/STM.tryPut|tryPut@arrow.fx.stm.TMVar<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).tryRead(): #A1? // arrow.fx.stm/STM.tryRead|tryRead@arrow.fx.stm.TMVar<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TMVar<#A1>).tryTake(): #A1? // arrow.fx.stm/STM.tryTake|tryTake@arrow.fx.stm.TMVar<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).flush(): kotlin.collections/List<#A1> // arrow.fx.stm/STM.flush|flush@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).isEmpty(): kotlin/Boolean // arrow.fx.stm/STM.isEmpty|isEmpty@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).isNotEmpty(): kotlin/Boolean // arrow.fx.stm/STM.isNotEmpty|isNotEmpty@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).peek(): #A1 // arrow.fx.stm/STM.peek|peek@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).plusAssign(#A1) // arrow.fx.stm/STM.plusAssign|plusAssign@arrow.fx.stm.TQueue<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).read(): #A1 // arrow.fx.stm/STM.read|read@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).removeAll(kotlin/Function1<#A1, kotlin/Boolean>) // arrow.fx.stm/STM.removeAll|removeAll@arrow.fx.stm.TQueue<0:0>(kotlin.Function1<0:0,kotlin.Boolean>){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).size(): kotlin/Int // arrow.fx.stm/STM.size|size@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).tryPeek(): #A1? // arrow.fx.stm/STM.tryPeek|tryPeek@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).tryRead(): #A1? // arrow.fx.stm/STM.tryRead|tryRead@arrow.fx.stm.TQueue<0:0>(){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).write(#A1) // arrow.fx.stm/STM.write|write@arrow.fx.stm.TQueue<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TQueue<#A1>).writeFront(#A1) // arrow.fx.stm/STM.writeFront|writeFront@arrow.fx.stm.TQueue<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TSet<#A1>).insert(#A1) // arrow.fx.stm/STM.insert|insert@arrow.fx.stm.TSet<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TSet<#A1>).member(#A1): kotlin/Boolean // arrow.fx.stm/STM.member|member@arrow.fx.stm.TSet<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TSet<#A1>).plusAssign(#A1) // arrow.fx.stm/STM.plusAssign|plusAssign@arrow.fx.stm.TSet<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TSet<#A1>).remove(#A1) // arrow.fx.stm/STM.remove|remove@arrow.fx.stm.TSet<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TVar<#A1>).getValue(kotlin/Nothing?, kotlin.reflect/KProperty<*>): #A1 // arrow.fx.stm/STM.getValue|getValue@arrow.fx.stm.TVar<0:0>(kotlin.Nothing?;kotlin.reflect.KProperty<*>){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TVar<#A1>).modify(kotlin/Function1<#A1, #A1>) // arrow.fx.stm/STM.modify|modify@arrow.fx.stm.TVar<0:0>(kotlin.Function1<0:0,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TVar<#A1>).set(#A1) // arrow.fx.stm/STM.set|set@arrow.fx.stm.TVar<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TVar<#A1>).setValue(kotlin/Nothing?, kotlin.reflect/KProperty<*>, #A1) // arrow.fx.stm/STM.setValue|setValue@arrow.fx.stm.TVar<0:0>(kotlin.Nothing?;kotlin.reflect.KProperty<*>;0:0){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.fx.stm/TVar<#A1>).swap(#A1): #A1 // arrow.fx.stm/STM.swap|swap@arrow.fx.stm.TVar<0:0>(0:0){0§}[0] + open fun <#A1: kotlin/Any?> newTVar(#A1): arrow.fx.stm/TVar<#A1> // arrow.fx.stm/STM.newTVar|newTVar(0:0){0§}[0] +} + +final class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.stm/TMap { // arrow.fx.stm/TMap|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.stm/TMap.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.stm/TMap.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.stm/TMap.toString|toString(){}[0] + + final object Companion { // arrow.fx.stm/TMap.Companion|null[0] + final suspend fun <#A2: kotlin/Any?, #B2: kotlin/Any?> new(): arrow.fx.stm/TMap<#A2, #B2> // arrow.fx.stm/TMap.Companion.new|new(){0§;1§}[0] + final suspend fun <#A2: kotlin/Any?, #B2: kotlin/Any?> new(kotlin/Function1<#A2, kotlin/Int>): arrow.fx.stm/TMap<#A2, #B2> // arrow.fx.stm/TMap.Companion.new|new(kotlin.Function1<0:0,kotlin.Int>){0§;1§}[0] + } +} + +final class <#A: kotlin/Any?> arrow.fx.stm/TArray { // arrow.fx.stm/TArray|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.stm/TArray.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.stm/TArray.hashCode|hashCode(){}[0] + final fun size(): kotlin/Int // arrow.fx.stm/TArray.size|size(){}[0] + final fun toString(): kotlin/String // arrow.fx.stm/TArray.toString|toString(){}[0] + + final object Companion { // arrow.fx.stm/TArray.Companion|null[0] + final suspend fun <#A2: kotlin/Any?> new(kotlin.collections/Iterable<#A2>): arrow.fx.stm/TArray<#A2> // arrow.fx.stm/TArray.Companion.new|new(kotlin.collections.Iterable<0:0>){0§}[0] + final suspend fun <#A2: kotlin/Any?> new(kotlin/Array...): arrow.fx.stm/TArray<#A2> // arrow.fx.stm/TArray.Companion.new|new(kotlin.Array...){0§}[0] + final suspend fun <#A2: kotlin/Any?> new(kotlin/Int, #A2): arrow.fx.stm/TArray<#A2> // arrow.fx.stm/TArray.Companion.new|new(kotlin.Int;0:0){0§}[0] + final suspend fun <#A2: kotlin/Any?> new(kotlin/Int, kotlin/Function1): arrow.fx.stm/TArray<#A2> // arrow.fx.stm/TArray.Companion.new|new(kotlin.Int;kotlin.Function1){0§}[0] + } +} + +final class <#A: kotlin/Any?> arrow.fx.stm/TMVar { // arrow.fx.stm/TMVar|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.stm/TMVar.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.stm/TMVar.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.stm/TMVar.toString|toString(){}[0] + + final object Companion { // arrow.fx.stm/TMVar.Companion|null[0] + final suspend fun <#A2: kotlin/Any?> empty(): arrow.fx.stm/TMVar<#A2> // arrow.fx.stm/TMVar.Companion.empty|empty(){0§}[0] + final suspend fun <#A2: kotlin/Any?> new(#A2): arrow.fx.stm/TMVar<#A2> // arrow.fx.stm/TMVar.Companion.new|new(0:0){0§}[0] + } +} + +final class <#A: kotlin/Any?> arrow.fx.stm/TQueue { // arrow.fx.stm/TQueue|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.stm/TQueue.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.stm/TQueue.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.stm/TQueue.toString|toString(){}[0] + + final object Companion { // arrow.fx.stm/TQueue.Companion|null[0] + final suspend fun <#A2: kotlin/Any?> new(): arrow.fx.stm/TQueue<#A2> // arrow.fx.stm/TQueue.Companion.new|new(){0§}[0] + } +} + +final class <#A: kotlin/Any?> arrow.fx.stm/TSet { // arrow.fx.stm/TSet|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.stm/TSet.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.stm/TSet.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.stm/TSet.toString|toString(){}[0] + + final object Companion { // arrow.fx.stm/TSet.Companion|null[0] + final suspend fun <#A2: kotlin/Any?> new(): arrow.fx.stm/TSet<#A2> // arrow.fx.stm/TSet.Companion.new|new(){0§}[0] + final suspend fun <#A2: kotlin/Any?> new(kotlin/Function1<#A2, kotlin/Int>): arrow.fx.stm/TSet<#A2> // arrow.fx.stm/TSet.Companion.new|new(kotlin.Function1<0:0,kotlin.Int>){0§}[0] + } +} + +final class <#A: kotlin/Any?> arrow.fx.stm/TVar { // arrow.fx.stm/TVar|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.stm/TVar.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.stm/TVar.hashCode|hashCode(){}[0] + final suspend fun unsafeRead(): #A // arrow.fx.stm/TVar.unsafeRead|unsafeRead(){}[0] + + final object Companion { // arrow.fx.stm/TVar.Companion|null[0] + final suspend fun <#A2: kotlin/Any?> new(#A2): arrow.fx.stm/TVar<#A2> // arrow.fx.stm/TVar.Companion.new|new(0:0){0§}[0] + } +} + +final class arrow.fx.stm.internal/BlockedIndefinitely : kotlin/Throwable { // arrow.fx.stm.internal/BlockedIndefinitely|null[0] + constructor () // arrow.fx.stm.internal/BlockedIndefinitely.|(){}[0] +} + +final class arrow.fx.stm/TSemaphore { // arrow.fx.stm/TSemaphore|null[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.fx.stm/TSemaphore.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.fx.stm/TSemaphore.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.fx.stm/TSemaphore.toString|toString(){}[0] + + final object Companion { // arrow.fx.stm/TSemaphore.Companion|null[0] + final suspend fun new(kotlin/Int): arrow.fx.stm/TSemaphore // arrow.fx.stm/TSemaphore.Companion.new|new(kotlin.Int){}[0] + } +} + +final object arrow.fx.stm.internal/RetryException : kotlin/Throwable // arrow.fx.stm.internal/RetryException|null[0] + +final fun (arrow.fx.stm/STM).arrow.fx.stm/check(kotlin/Boolean) // arrow.fx.stm/check|check@arrow.fx.stm.STM(kotlin.Boolean){}[0] +final fun (arrow.fx.stm/STM).arrow.fx.stm/newTSem(kotlin/Int): arrow.fx.stm/TSemaphore // arrow.fx.stm/newTSem|newTSem@arrow.fx.stm.STM(kotlin.Int){}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTMap(): arrow.fx.stm/TMap<#A, #B> // arrow.fx.stm/newTMap|newTMap@arrow.fx.stm.STM(){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTMap(kotlin/Function1<#A, kotlin/Int>): arrow.fx.stm/TMap<#A, #B> // arrow.fx.stm/newTMap|newTMap@arrow.fx.stm.STM(kotlin.Function1<0:0,kotlin.Int>){0§;1§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newEmptyTMVar(): arrow.fx.stm/TMVar<#A> // arrow.fx.stm/newEmptyTMVar|newEmptyTMVar@arrow.fx.stm.STM(){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTArray(kotlin.collections/Iterable<#A>): arrow.fx.stm/TArray<#A> // arrow.fx.stm/newTArray|newTArray@arrow.fx.stm.STM(kotlin.collections.Iterable<0:0>){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTArray(kotlin/Array...): arrow.fx.stm/TArray<#A> // arrow.fx.stm/newTArray|newTArray@arrow.fx.stm.STM(kotlin.Array...){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTArray(kotlin/Int, #A): arrow.fx.stm/TArray<#A> // arrow.fx.stm/newTArray|newTArray@arrow.fx.stm.STM(kotlin.Int;0:0){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTArray(kotlin/Int, kotlin/Function1): arrow.fx.stm/TArray<#A> // arrow.fx.stm/newTArray|newTArray@arrow.fx.stm.STM(kotlin.Int;kotlin.Function1){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTMVar(#A): arrow.fx.stm/TMVar<#A> // arrow.fx.stm/newTMVar|newTMVar@arrow.fx.stm.STM(0:0){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTQueue(): arrow.fx.stm/TQueue<#A> // arrow.fx.stm/newTQueue|newTQueue@arrow.fx.stm.STM(){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTSet(): arrow.fx.stm/TSet<#A> // arrow.fx.stm/newTSet|newTSet@arrow.fx.stm.STM(){0§}[0] +final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTSet(kotlin/Function1<#A, kotlin/Int>): arrow.fx.stm/TSet<#A> // arrow.fx.stm/newTSet|newTSet@arrow.fx.stm.STM(kotlin.Function1<0:0,kotlin.Int>){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.fx.stm/stm(noinline kotlin/Function1): kotlin/Function1 // arrow.fx.stm/stm|stm(kotlin.Function1){0§}[0] +final suspend fun <#A: kotlin/Any?> arrow.fx.stm/atomically(kotlin/Function1): #A // arrow.fx.stm/atomically|atomically(kotlin.Function1){0§}[0] diff --git a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts index a44b7d98dbf..6cc4466bf75 100644 --- a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts @@ -1,12 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -20,6 +21,12 @@ spotless { apply(from = property("ANIMALSNIFFER_MPP")) kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + freeCompilerArgs.add("-Xexpect-actual-classes") + freeCompilerArgs.add("-Xconsistent-data-class-copy-visibility") + } + sourceSets { commonMain { dependencies { @@ -46,10 +53,12 @@ kotlin { } } } -} -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/fx/arrow-fx-stm/gradle.properties b/arrow-libs/fx/arrow-fx-stm/gradle.properties index 134a40c3da7..9c5b39749c8 100644 --- a/arrow-libs/fx/arrow-fx-stm/gradle.properties +++ b/arrow-libs/fx/arrow-fx-stm/gradle.properties @@ -1,2 +1,2 @@ # Maven publishing configuration -pom.name=Arrow-Fx-STM +POM_NAME=Arrow-Fx-STM diff --git a/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/STM.kt b/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/STM.kt index 5e4439a0509..9f80b08a98e 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/STM.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/STM.kt @@ -3,6 +3,7 @@ package arrow.fx.stm import arrow.fx.stm.internal.STMTransaction import arrow.fx.stm.internal.alterHamtWithHash import arrow.fx.stm.internal.lookupHamtWithHash +import kotlin.reflect.KProperty /** * # Consistent and safe concurrent state updates @@ -286,6 +287,32 @@ public interface STM { */ public fun TVar.read(): A + /** + * Read the value from a [TVar]. + * + * ```kotlin + * import arrow.fx.stm.TVar + * import arrow.fx.stm.atomically + * + * suspend fun main() { + * //sampleStart + * val tvar = TVar.new(10) + * val result = atomically { + * tvar.value + * } + * //sampleEnd + * println(result) + * } + * ``` + * + * + * This comes with a few guarantees: + * - Any given [TVar] is only ever read once during a transaction. + * - When committing the transaction the value read has to be equal to the current value otherwise the + * transaction will retry + */ + public val TVar.value: A get() = read() + /** * Set the value of a [TVar]. * @@ -303,7 +330,7 @@ public interface STM { * println(result) * } * ``` - * + * * * Similarly to [read] this comes with a few guarantees: * - For multiple writes to the same [TVar] in a transaction only the last will actually be performed @@ -312,6 +339,78 @@ public interface STM { */ public fun TVar.write(a: A) + /** + * Set the value of a [TVar]. + * + * ```kotlin + * import arrow.fx.stm.TVar + * import arrow.fx.stm.atomically + * + * suspend fun main() { + * //sampleStart + * val tvar = TVar.new(10) + * val result = atomically { + * tvar.set(20) + * } + * //sampleEnd + * println(result) + * } + * ``` + * + * + * Similarly to [value] this comes with a few guarantees: + * - For multiple writes to the same [TVar] in a transaction only the last will actually be performed + * - When committing the value inside the [TVar], at the time of calling [set], has to be the + * same as the current value otherwise the transaction will retry + */ + public fun TVar.set(a: A) { write(a) } + + /** + * Use a [TVar] using property delegation. + * + * ```kotlin + * import arrow.fx.stm.TVar + * import arrow.fx.stm.atomically + * + * suspend fun main() { + * //sampleStart + * val tvar = TVar.new(10) + * val result = atomically { + * val x by tvar + * x + * } + * //sampleEnd + * println(result) + * } + * ``` + * + * + */ + public operator fun TVar.getValue(thisRef: Nothing?, property: KProperty<*>): A = read() + + /** + * Use a [TVar] using property delegation. + * + * ```kotlin + * import arrow.fx.stm.TVar + * import arrow.fx.stm.atomically + * + * suspend fun main() { + * //sampleStart + * val tvar = TVar.new(10) + * val result = atomically { + * var x by tvar + * x = 20 + * } + * //sampleEnd + * println(result) + * } + * ``` + * + * + */ + public operator fun TVar.setValue(thisRef: Nothing?, property: KProperty<*>, value: A) { write(value) } + /** * Modify the value of a [TVar] * @@ -329,7 +428,7 @@ public interface STM { * println(result) * } * ``` - * + * * * `modify(f) = write(f(read()))` */ @@ -353,7 +452,7 @@ public interface STM { * println("New value ${tvar.unsafeRead()}") * } * ``` - * + * * * @return The previous value stored inside the [TVar] */ @@ -383,7 +482,7 @@ public interface STM { * println("New value ${atomically { tmvar.tryTake() } }") * } * ``` - * + * * * This retries if the [TMVar] is empty and leaves the [TMVar] empty if it succeeded. * @@ -412,7 +511,7 @@ public interface STM { * println("New value ${atomically { tmvar.tryTake() } }") * } * ``` - * + * * * This retries if the [TMVar] is not empty. * @@ -441,7 +540,7 @@ public interface STM { * println("New value ${atomically { tmvar.tryTake() } }") * } * ``` - * + * * * This retries if the [TMVar] is empty but does not take the value out if it succeeds. * @@ -471,7 +570,7 @@ public interface STM { * println("New value ${atomically { tmvar.tryTake() } }") * } * ``` - * + * */ public fun TMVar.tryTake(): A? = when (val ret = v.read()) { is Option.Some -> ret.a.also { v.write(Option.None) } @@ -496,7 +595,7 @@ public interface STM { * println("New value ${atomically { tmvar.tryTake() } }") * } * ``` - * + * * * This function never retries. * @@ -524,7 +623,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * @see TMVar.read for a function that retries if the [TMVar] is empty. * @see TMVar.tryTake for a function that leaves the [TMVar] empty after reading. @@ -551,7 +650,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * > Because the state of a transaction is constant there can never be a race condition between checking if a `TMVar` is empty and subsequent * reads in the *same* transaction. @@ -575,7 +674,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * > Because the state of a transaction is constant there can never be a race condition between checking if a `TMVar` is empty and subsequent * reads in the *same* transaction. @@ -601,7 +700,7 @@ public interface STM { * println("New value ${atomically { tmvar.tryTake() } }") * } * ``` - * + * */ public fun TMVar.swap(a: A): A = when (val ret = v.read()) { is Option.Some -> ret.a.also { v.write(Option.Some(a)) } @@ -627,7 +726,7 @@ public interface STM { * println("Permits remaining ${atomically { tsem.available() }}") * } * ``` - * + * * * This function never retries. */ @@ -651,7 +750,7 @@ public interface STM { * println("Permits remaining ${atomically { tsem.available() }}") * } * ``` - * + * * * This function will retry if there are no permits available. * @@ -677,7 +776,7 @@ public interface STM { * println("Permits remaining ${atomically { tsem.available() }}") * } * ``` - * + * * * This function will retry if there are less than [n] permits available. * @@ -707,7 +806,7 @@ public interface STM { * println("Permits remaining ${atomically { tsem.available() }}") * } * ``` - * + * * * This function never retries. * @@ -734,7 +833,7 @@ public interface STM { * println("Permits remaining ${atomically { tsem.available() }}") * } * ``` - * + * * * This function never retries. * @@ -760,7 +859,7 @@ public interface STM { * println("Permits remaining ${atomically { tsem.available() }}") * } * ``` - * + * * * This function never retries. */ @@ -784,7 +883,7 @@ public interface STM { * println("Permits remaining ${atomically { tsem.available() }}") * } * ``` - * + * * * [n] must be non-negative. * @@ -816,7 +915,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * This function never retries. */ @@ -840,7 +939,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * This function never retries. */ @@ -865,7 +964,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * @see TQueue.tryRead for a version that does not retry. * @see TQueue.peek for a version that does not remove the element. @@ -903,7 +1002,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * This function never retries. */ @@ -931,7 +1030,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * This function never retries. */ @@ -961,7 +1060,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * This function retries if the [TQueue] is empty. * @@ -989,7 +1088,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * This function never retries. * @@ -1017,7 +1116,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * Mainly used to implement [TQueue.peek] and since this writes to the read variable of a [TQueue] excessive use * can lead to contention on consumers. Prefer appending to a [TQueue] if possible. @@ -1044,7 +1143,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * This function never retries. * @@ -1070,7 +1169,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * This function never retries. * @@ -1097,7 +1196,7 @@ public interface STM { * println("Items in queue ${atomically { tq.flush() }}") * } * ``` - * + * * * This function never retries. * @@ -1125,7 +1224,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * This function never retries. * @@ -1151,7 +1250,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * Throws if [i] is out of bounds. * @@ -1179,7 +1278,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * Throws if [i] is out of bounds. * @@ -1205,7 +1304,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * This function never retries. */ @@ -1229,7 +1328,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * This function never retries. */ @@ -1255,7 +1354,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * * * This function never retries. */ @@ -1282,7 +1381,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * > If the key is not present [STM.lookup] will not retry, instead it returns `null`. */ @@ -1309,7 +1408,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * > If the key is not present [STM.get] will not retry, instead it returns `null`. */ @@ -1331,7 +1430,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * */ public fun TMap.insert(k: K, v: V) { alterHamtWithHash(hamt, hashFn(k), { it.first == k }) { k to v } @@ -1353,7 +1452,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * */ public operator fun TMap.set(k: K, v: V): Unit = insert(k, v) @@ -1373,7 +1472,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * */ public operator fun TMap.plusAssign(kv: Pair): Unit = insert(kv.first, kv.second) @@ -1396,7 +1495,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * */ public fun TMap.update(k: K, fn: (V) -> V) { alterHamtWithHash(hamt, hashFn(k), { it.first == k }) { it?.second?.let(fn)?.let { r -> k to r } } @@ -1419,7 +1518,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * */ public fun TMap.remove(k: K) { alterHamtWithHash(hamt, hashFn(k), { it.first == k }) { null } @@ -1444,7 +1543,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * */ public fun TSet.member(a: A): Boolean = lookupHamtWithHash(hamt, hashFn(a)) { it == a } != null @@ -1465,7 +1564,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * */ public fun TSet.insert(a: A) { alterHamtWithHash(hamt, hashFn(a), { it == a }) { a } @@ -1487,7 +1586,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * */ public operator fun TSet.plusAssign(a: A): Unit = insert(a) @@ -1508,7 +1607,7 @@ public interface STM { * //sampleEnd * } * ``` - * + * */ public fun TSet.remove(a: A) { alterHamtWithHash(hamt, hashFn(a), { it == a }) { null } @@ -1535,7 +1634,7 @@ public interface STM { * println("Result $result") * } * ``` - * + * * * Equal to [suspend] just with an [STM] receiver. */ @@ -1562,7 +1661,7 @@ public inline fun stm(noinline f: STM.() -> A): STM.() -> A = f * println("Result $result") * } * ``` - * + * * * `check(b) = if (b.not()) retry() else Unit` */ diff --git a/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/TQueue.kt b/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/TQueue.kt index 70679af620f..8eb227c045d 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/TQueue.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/commonMain/kotlin/arrow/fx/stm/TQueue.kt @@ -260,8 +260,8 @@ public data class TQueue internal constructor( * implement queues. */ internal sealed class PList { - public data class Cons(val value: A, @JsName("_tail") val tail: PList) : PList() - object Nil : PList() + data class Cons(val value: A, @JsName("_tail") val tail: PList) : PList() + data object Nil : PList() /** * O(1) @@ -290,47 +290,46 @@ internal sealed class PList { fun isNotEmpty(): Boolean = this != Nil /** - * O(n) and the entire list is copied + * Execute an action on every element */ - fun reverse(): PList { - var new: PList = Nil + private inline fun forEach(crossinline action: (A) -> Unit) { var xs = this while (xs is Cons) { - new = Cons(xs.value, new) + action(xs.value) xs = xs.tail } + } + + /** + * O(n) and the entire list is copied + */ + fun reverse(): PList { + var new: PList = Nil + this.forEach { new = Cons(it, new) } return new } /** * O(n) */ - inline fun filter(pred: Predicate): PList { - var new: PList = Nil - var xs = this - while (xs is Cons) { - if (pred(xs.value)) new = Cons(xs.value, new) - xs = xs.tail + fun filter(pred: Predicate): PList { + var chosen: PList = Nil + this.forEach { + if (pred(it)) chosen = Cons(it, chosen) } - return new.reverse() + return chosen.reverse() } /** * O(n) */ - inline fun filterNot(pred: Predicate): PList = filter { pred(it).not() } + // fun filterNot(pred: Predicate): PList = filter { pred(it).not() } /** * O(n) */ - fun toList(): List { - val mutList = mutableListOf() - var xs = this - while (xs is Cons) { - mutList.add(xs.value) - xs = xs.tail - } - return mutList + fun toList(): List = buildList { + this@PList.forEach { add(it) } } /** @@ -338,11 +337,7 @@ internal sealed class PList { */ fun size(): Int { var sz = 0 - var xs = this - while (xs is Cons) { - sz += 1 - xs = xs.tail - } + this.forEach { sz++ } return sz } } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-08.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-08.kt index 3b244a95524..8248c5cc1ab 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-08.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-08.kt @@ -8,7 +8,7 @@ suspend fun main() { //sampleStart val tvar = TVar.new(10) val result = atomically { - tvar.write(20) + tvar.value } //sampleEnd println(result) diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-09.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-09.kt index 635fed77742..4a6a9f8f832 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-09.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-09.kt @@ -8,7 +8,7 @@ suspend fun main() { //sampleStart val tvar = TVar.new(10) val result = atomically { - tvar.modify { it * 2 } + tvar.write(20) } //sampleEnd println(result) diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-10.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-10.kt index d644d15ef6d..d000bcf0b65 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-10.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-10.kt @@ -8,9 +8,8 @@ suspend fun main() { //sampleStart val tvar = TVar.new(10) val result = atomically { - tvar.swap(20) + tvar.set(20) } //sampleEnd - println("Result $result") - println("New value ${tvar.unsafeRead()}") + println(result) } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-11.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-11.kt index b05a8118851..1ea552af084 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-11.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-11.kt @@ -1,16 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm11 -import arrow.fx.stm.TMVar +import arrow.fx.stm.TVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmvar = TMVar.new(10) + val tvar = TVar.new(10) val result = atomically { - tmvar.take() + val x by tvar + x } //sampleEnd - println("Result $result") - println("New value ${atomically { tmvar.tryTake() } }") + println(result) } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-12.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-12.kt index b2472302a9c..819e08951e3 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-12.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-12.kt @@ -1,15 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm12 -import arrow.fx.stm.TMVar +import arrow.fx.stm.TVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmvar = TMVar.empty() - atomically { - tmvar.put(20) + val tvar = TVar.new(10) + val result = atomically { + var x by tvar + x = 20 } //sampleEnd - println("New value ${atomically { tmvar.tryTake() } }") + println(result) } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-13.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-13.kt index 7e88db38857..0ce8410fa4b 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-13.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-13.kt @@ -1,16 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm13 -import arrow.fx.stm.TMVar +import arrow.fx.stm.TVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmvar = TMVar.new(30) + val tvar = TVar.new(10) val result = atomically { - tmvar.read() + tvar.modify { it * 2 } } //sampleEnd - println("Result $result") - println("New value ${atomically { tmvar.tryTake() } }") + println(result) } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-14.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-14.kt index 703b3f3c201..ad25b8f7e76 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-14.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-14.kt @@ -1,16 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm14 -import arrow.fx.stm.TMVar +import arrow.fx.stm.TVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmvar = TMVar.empty() + val tvar = TVar.new(10) val result = atomically { - tmvar.tryTake() + tvar.swap(20) } //sampleEnd println("Result $result") - println("New value ${atomically { tmvar.tryTake() } }") + println("New value ${tvar.unsafeRead()}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-15.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-15.kt index 69e36bb351b..35ed5651169 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-15.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-15.kt @@ -6,9 +6,9 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmvar = TMVar.new(20) + val tmvar = TMVar.new(10) val result = atomically { - tmvar.tryPut(30) + tmvar.take() } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-16.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-16.kt index 10417ff327a..d44d2c4faf9 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-16.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-16.kt @@ -7,9 +7,9 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart val tmvar = TMVar.empty() - val result = atomically { - tmvar.tryRead() + atomically { + tmvar.put(20) } //sampleEnd - println("Result $result") + println("New value ${atomically { tmvar.tryTake() } }") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-17.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-17.kt index 2aa661f6954..9a47b5a624e 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-17.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-17.kt @@ -6,10 +6,11 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmvar = TMVar.empty() + val tmvar = TMVar.new(30) val result = atomically { - tmvar.isEmpty() + tmvar.read() } //sampleEnd println("Result $result") + println("New value ${atomically { tmvar.tryTake() } }") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-18.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-18.kt index d9f7e449086..18a0d01ded3 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-18.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-18.kt @@ -8,8 +8,9 @@ suspend fun main() { //sampleStart val tmvar = TMVar.empty() val result = atomically { - tmvar.isNotEmpty() + tmvar.tryTake() } //sampleEnd println("Result $result") + println("New value ${atomically { tmvar.tryTake() } }") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-19.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-19.kt index 79aa77c885a..ce051bda51b 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-19.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-19.kt @@ -6,9 +6,9 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmvar = TMVar.new(30) + val tmvar = TMVar.new(20) val result = atomically { - tmvar.swap(40) + tmvar.tryPut(30) } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-20.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-20.kt index 7943c27ad66..0b5d435e666 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-20.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-20.kt @@ -1,16 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm20 -import arrow.fx.stm.TSemaphore +import arrow.fx.stm.TMVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tsem = TSemaphore.new(5) + val tmvar = TMVar.empty() val result = atomically { - tsem.available() + tmvar.tryRead() } //sampleEnd println("Result $result") - println("Permits remaining ${atomically { tsem.available() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-21.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-21.kt index d4bab988624..4b161ab3ebb 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-21.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-21.kt @@ -1,15 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm21 -import arrow.fx.stm.TSemaphore +import arrow.fx.stm.TMVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tsem = TSemaphore.new(5) - atomically { - tsem.acquire() + val tmvar = TMVar.empty() + val result = atomically { + tmvar.isEmpty() } //sampleEnd - println("Permits remaining ${atomically { tsem.available() }}") + println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-22.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-22.kt index 72df59804f7..c75592f75f6 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-22.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-22.kt @@ -1,15 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm22 -import arrow.fx.stm.TSemaphore +import arrow.fx.stm.TMVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tsem = TSemaphore.new(5) - atomically { - tsem.acquire(3) + val tmvar = TMVar.empty() + val result = atomically { + tmvar.isNotEmpty() } //sampleEnd - println("Permits remaining ${atomically { tsem.available() }}") + println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-23.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-23.kt index e3e870700e3..e016e9126e0 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-23.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-23.kt @@ -1,16 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm23 -import arrow.fx.stm.TSemaphore +import arrow.fx.stm.TMVar import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tsem = TSemaphore.new(0) + val tmvar = TMVar.new(30) val result = atomically { - tsem.tryAcquire() + tmvar.swap(40) } //sampleEnd println("Result $result") - println("Permits remaining ${atomically { tsem.available() }}") + println("New value ${atomically { tmvar.tryTake() } }") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-24.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-24.kt index d35101b9e6e..8316360626d 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-24.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-24.kt @@ -6,9 +6,9 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tsem = TSemaphore.new(0) + val tsem = TSemaphore.new(5) val result = atomically { - tsem.tryAcquire(3) + tsem.available() } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-25.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-25.kt index 3ff16ef47e2..70079d3965b 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-25.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-25.kt @@ -8,7 +8,7 @@ suspend fun main() { //sampleStart val tsem = TSemaphore.new(5) atomically { - tsem.release() + tsem.acquire() } //sampleEnd println("Permits remaining ${atomically { tsem.available() }}") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-26.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-26.kt index be83f122ebc..25de1187843 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-26.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-26.kt @@ -8,7 +8,7 @@ suspend fun main() { //sampleStart val tsem = TSemaphore.new(5) atomically { - tsem.release(2) + tsem.acquire(3) } //sampleEnd println("Permits remaining ${atomically { tsem.available() }}") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-27.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-27.kt index ddb1d7ba8f5..1d580955813 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-27.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-27.kt @@ -1,15 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm27 -import arrow.fx.stm.TQueue +import arrow.fx.stm.TSemaphore import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tq = TQueue.new() - atomically { - tq.write(2) + val tsem = TSemaphore.new(0) + val result = atomically { + tsem.tryAcquire() } //sampleEnd - println("Items in queue ${atomically { tq.flush() }}") + println("Result $result") + println("Permits remaining ${atomically { tsem.available() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-28.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-28.kt index 5c7f3b4b29e..5f48395cc32 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-28.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-28.kt @@ -1,15 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm28 -import arrow.fx.stm.TQueue +import arrow.fx.stm.TSemaphore import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tq = TQueue.new() - atomically { - tq += 2 + val tsem = TSemaphore.new(0) + val result = atomically { + tsem.tryAcquire(3) } //sampleEnd - println("Items in queue ${atomically { tq.flush() }}") + println("Result $result") + println("Permits remaining ${atomically { tsem.available() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-29.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-29.kt index c6ffa1c7e4e..067c99a59b7 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-29.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-29.kt @@ -1,17 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm29 -import arrow.fx.stm.TQueue +import arrow.fx.stm.TSemaphore import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tq = TQueue.new() - val result = atomically { - tq.write(2) - tq.read() + val tsem = TSemaphore.new(5) + atomically { + tsem.release() } //sampleEnd - println("Result $result") - println("Items in queue ${atomically { tq.flush() }}") + println("Permits remaining ${atomically { tsem.available() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-30.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-30.kt index e74d4ab65db..bcaa4652c93 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-30.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-30.kt @@ -1,16 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm30 -import arrow.fx.stm.TQueue +import arrow.fx.stm.TSemaphore import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tq = TQueue.new() - val result = atomically { - tq.tryRead() + val tsem = TSemaphore.new(5) + atomically { + tsem.release(2) } //sampleEnd - println("Result $result") - println("Items in queue ${atomically { tq.flush() }}") + println("Permits remaining ${atomically { tsem.available() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-31.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-31.kt index 194410a648a..50df03279b4 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-31.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-31.kt @@ -7,13 +7,9 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart val tq = TQueue.new() - val result = atomically { + atomically { tq.write(2) - tq.write(4) - - tq.flush() } //sampleEnd - println("Result $result") println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-32.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-32.kt index f3c451dfac0..470c909380a 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-32.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-32.kt @@ -7,12 +7,9 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart val tq = TQueue.new() - val result = atomically { - tq.write(2) - - tq.peek() + atomically { + tq += 2 } //sampleEnd - println("Result $result") println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-33.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-33.kt index 0e1b22551d7..7e26f72dcc8 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-33.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-33.kt @@ -8,7 +8,8 @@ suspend fun main() { //sampleStart val tq = TQueue.new() val result = atomically { - tq.tryPeek() + tq.write(2) + tq.read() } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-34.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-34.kt index df45719611d..2c04e69cc06 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-34.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-34.kt @@ -7,10 +7,10 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart val tq = TQueue.new() - atomically { - tq.write(1) - tq.writeFront(2) + val result = atomically { + tq.tryRead() } //sampleEnd + println("Result $result") println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-35.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-35.kt index 1cc776599fd..0ee70f6afe3 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-35.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-35.kt @@ -8,8 +8,12 @@ suspend fun main() { //sampleStart val tq = TQueue.new() val result = atomically { - tq.isEmpty() + tq.write(2) + tq.write(4) + + tq.flush() } //sampleEnd println("Result $result") + println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-36.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-36.kt index faf09dbfd55..54a23363d99 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-36.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-36.kt @@ -8,8 +8,11 @@ suspend fun main() { //sampleStart val tq = TQueue.new() val result = atomically { - tq.isNotEmpty() + tq.write(2) + + tq.peek() } //sampleEnd println("Result $result") + println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-37.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-37.kt index b3ab1c535a7..e626dc3dea4 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-37.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-37.kt @@ -7,10 +7,10 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart val tq = TQueue.new() - atomically { - tq.write(0) - tq.removeAll { it != 0 } + val result = atomically { + tq.tryPeek() } //sampleEnd + println("Result $result") println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-38.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-38.kt index 1882020b343..086446b6309 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-38.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-38.kt @@ -7,9 +7,10 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart val tq = TQueue.new() - val result = atomically { - tq.size() + atomically { + tq.write(1) + tq.writeFront(2) } //sampleEnd - println("Result $result") + println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-39.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-39.kt index 944e07063f9..9a6a75b8006 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-39.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-39.kt @@ -1,14 +1,14 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm39 -import arrow.fx.stm.TArray +import arrow.fx.stm.TQueue import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tarr = TArray.new(size = 10, 2) + val tq = TQueue.new() val result = atomically { - tarr[5] + tq.isEmpty() } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-40.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-40.kt index 62e36840f94..ce19a9dc83d 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-40.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-40.kt @@ -1,16 +1,14 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm40 -import arrow.fx.stm.TArray +import arrow.fx.stm.TQueue import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tarr = TArray.new(size = 10, 2) + val tq = TQueue.new() val result = atomically { - tarr[5] = 3 - - tarr[5] + tq.isNotEmpty() } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-41.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-41.kt index 6402fe8de66..1e878b95851 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-41.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-41.kt @@ -1,15 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm41 -import arrow.fx.stm.TArray +import arrow.fx.stm.TQueue import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tarr = TArray.new(size = 10, 2) - val result = atomically { - tarr.transform { it + 1 } + val tq = TQueue.new() + atomically { + tq.write(0) + tq.removeAll { it != 0 } } //sampleEnd - println("Result $result") + println("Items in queue ${atomically { tq.flush() }}") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-42.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-42.kt index 694be8634bb..ff34e8adb30 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-42.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-42.kt @@ -1,14 +1,14 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm42 -import arrow.fx.stm.TArray +import arrow.fx.stm.TQueue import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tarr = TArray.new(size = 10, 2) + val tq = TQueue.new() val result = atomically { - tarr.fold(0) { acc, v -> acc + v } + tq.size() } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-43.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-43.kt index 51c78a9d5d4..d5f309766f6 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-43.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-43.kt @@ -1,16 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm43 -import arrow.fx.stm.TMap +import arrow.fx.stm.TArray import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmap = TMap.new() - atomically { - tmap[1] = "Hello" - - tmap.remove(1) + val tarr = TArray.new(size = 10, 2) + val result = atomically { + tarr[5] } //sampleEnd + println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-44.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-44.kt index 53ff9b96509..5018b020c3a 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-44.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-44.kt @@ -1,17 +1,16 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm44 -import arrow.fx.stm.TMap +import arrow.fx.stm.TArray import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmap = TMap.new() + val tarr = TArray.new(size = 10, 2) val result = atomically { - tmap[1] = "Hello" - tmap[2] = "World" + tarr[5] = 3 - tmap.lookup(1) + tarr[5] } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-45.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-45.kt index 5918b9516cf..becba21e5b8 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-45.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-45.kt @@ -1,17 +1,14 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm45 -import arrow.fx.stm.TMap +import arrow.fx.stm.TArray import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmap = TMap.new() + val tarr = TArray.new(size = 10, 2) val result = atomically { - tmap[1] = "Hello" - tmap[2] = "World" - - tmap[2] + tarr.transform { it + 1 } } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-46.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-46.kt index a0ea6fdbd01..7135f86a595 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-46.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-46.kt @@ -1,14 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm46 -import arrow.fx.stm.TMap +import arrow.fx.stm.TArray import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tmap = TMap.new() - atomically { - tmap.insert(10, "Hello") + val tarr = TArray.new(size = 10, 2) + val result = atomically { + tarr.fold(0) { acc, v -> acc + v } } //sampleEnd + println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-47.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-47.kt index 60bf1c0ba79..cf55b7e1c2a 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-47.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-47.kt @@ -9,6 +9,8 @@ suspend fun main() { val tmap = TMap.new() atomically { tmap[1] = "Hello" + + tmap.remove(1) } //sampleEnd } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-48.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-48.kt index 0d16fb19582..ca49193f6cd 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-48.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-48.kt @@ -7,8 +7,12 @@ import arrow.fx.stm.atomically suspend fun main() { //sampleStart val tmap = TMap.new() - atomically { - tmap += (1 to "Hello") + val result = atomically { + tmap[1] = "Hello" + tmap[2] = "World" + + tmap.lookup(1) } //sampleEnd + println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-49.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-49.kt index 40c5dc87bc4..aa2c626001e 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-49.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-49.kt @@ -8,8 +8,9 @@ suspend fun main() { //sampleStart val tmap = TMap.new() val result = atomically { - tmap[2] = "Hello" - tmap.update(2) { it.reversed() } + tmap[1] = "Hello" + tmap[2] = "World" + tmap[2] } //sampleEnd diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-50.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-50.kt index 1cf1830b2ea..26ad5f7ed03 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-50.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-50.kt @@ -8,8 +8,7 @@ suspend fun main() { //sampleStart val tmap = TMap.new() atomically { - tmap[1] = "Hello" - tmap.remove(1) + tmap.insert(10, "Hello") } //sampleEnd } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-51.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-51.kt index b3341eca789..fbe2a8294c4 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-51.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-51.kt @@ -1,16 +1,14 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm51 -import arrow.fx.stm.TSet +import arrow.fx.stm.TMap import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tset = TSet.new() - val result = atomically { - tset.insert("Hello") - tset.member("Hello") + val tmap = TMap.new() + atomically { + tmap[1] = "Hello" } //sampleEnd - println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-52.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-52.kt index 061e2e02d0e..134f34f4128 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-52.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-52.kt @@ -1,14 +1,14 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm52 -import arrow.fx.stm.TSet +import arrow.fx.stm.TMap import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tset = TSet.new() + val tmap = TMap.new() atomically { - tset.insert("Hello") + tmap += (1 to "Hello") } //sampleEnd } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-53.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-53.kt index a685ae6ce0e..2384af6979e 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-53.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-53.kt @@ -1,14 +1,17 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm53 -import arrow.fx.stm.TSet +import arrow.fx.stm.TMap import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tset = TSet.new() - atomically { - tset += "Hello" + val tmap = TMap.new() + val result = atomically { + tmap[2] = "Hello" + tmap.update(2) { it.reversed() } + tmap[2] } //sampleEnd + println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-54.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-54.kt index c8c38bca52f..083c6aba8d6 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-54.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-54.kt @@ -1,15 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm54 -import arrow.fx.stm.TSet +import arrow.fx.stm.TMap import arrow.fx.stm.atomically suspend fun main() { //sampleStart - val tset = TSet.new() + val tmap = TMap.new() atomically { - tset.insert("Hello") - tset.remove("Hello") + tmap[1] = "Hello" + tmap.remove(1) } //sampleEnd } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-55.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-55.kt index 80e07a96211..67106db651b 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-55.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-55.kt @@ -1,17 +1,15 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm55 +import arrow.fx.stm.TSet import arrow.fx.stm.atomically -import arrow.fx.stm.stm suspend fun main() { //sampleStart - val i = 4 + val tset = TSet.new() val result = atomically { - stm { - if (i == 4) retry() - "Not 4" - } orElse { "4" } + tset.insert("Hello") + tset.member("Hello") } //sampleEnd println("Result $result") diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-56.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-56.kt index f853d293d09..4ceebbf9ce3 100644 --- a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-56.kt +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-56.kt @@ -1,18 +1,14 @@ // This file was automatically generated from STM.kt by Knit tool. Do not edit. package arrow.fx.stm.examples.exampleStm56 +import arrow.fx.stm.TSet import arrow.fx.stm.atomically -import arrow.fx.stm.stm suspend fun main() { //sampleStart - val i = 4 - val result = atomically { - stm { - check(i <= 5) // This calls retry and aborts if i <= 5 - "Larger than 5" - } orElse { "Smaller than or equal to 5" } + val tset = TSet.new() + atomically { + tset.insert("Hello") } //sampleEnd - println("Result $result") } diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-57.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-57.kt new file mode 100644 index 00000000000..8c45075b060 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-57.kt @@ -0,0 +1,14 @@ +// This file was automatically generated from STM.kt by Knit tool. Do not edit. +package arrow.fx.stm.examples.exampleStm57 + +import arrow.fx.stm.TSet +import arrow.fx.stm.atomically + +suspend fun main() { + //sampleStart + val tset = TSet.new() + atomically { + tset += "Hello" + } + //sampleEnd +} diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-58.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-58.kt new file mode 100644 index 00000000000..76897545e38 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-58.kt @@ -0,0 +1,15 @@ +// This file was automatically generated from STM.kt by Knit tool. Do not edit. +package arrow.fx.stm.examples.exampleStm58 + +import arrow.fx.stm.TSet +import arrow.fx.stm.atomically + +suspend fun main() { + //sampleStart + val tset = TSet.new() + atomically { + tset.insert("Hello") + tset.remove("Hello") + } + //sampleEnd +} diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-59.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-59.kt new file mode 100644 index 00000000000..4b66e7ff075 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-59.kt @@ -0,0 +1,18 @@ +// This file was automatically generated from STM.kt by Knit tool. Do not edit. +package arrow.fx.stm.examples.exampleStm59 + +import arrow.fx.stm.atomically +import arrow.fx.stm.stm + +suspend fun main() { + //sampleStart + val i = 4 + val result = atomically { + stm { + if (i == 4) retry() + "Not 4" + } orElse { "4" } + } + //sampleEnd + println("Result $result") +} diff --git a/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-60.kt b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-60.kt new file mode 100644 index 00000000000..0d16005c120 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-60.kt @@ -0,0 +1,18 @@ +// This file was automatically generated from STM.kt by Knit tool. Do not edit. +package arrow.fx.stm.examples.exampleStm60 + +import arrow.fx.stm.atomically +import arrow.fx.stm.stm + +suspend fun main() { + //sampleStart + val i = 4 + val result = atomically { + stm { + check(i <= 5) // This calls retry and aborts if i <= 5 + "Larger than 5" + } orElse { "Smaller than or equal to 5" } + } + //sampleEnd + println("Result $result") +} diff --git a/arrow-libs/gradle/animalsniffer-mpp.gradle b/arrow-libs/gradle/animalsniffer-mpp.gradle index 5b490429a43..51b7c4def6a 100644 --- a/arrow-libs/gradle/animalsniffer-mpp.gradle +++ b/arrow-libs/gradle/animalsniffer-mpp.gradle @@ -23,12 +23,12 @@ kotlin { sourceSets { commonMain { dependencies { - implementation "org.codehaus.mojo:animal-sniffer-annotations:1.23" + implementation "org.codehaus.mojo:animal-sniffer-annotations:1.24" } } jvmMain { dependencies { - implementation "org.codehaus.mojo:animal-sniffer-annotations:1.23" + implementation "org.codehaus.mojo:animal-sniffer-annotations:1.24" } } } diff --git a/arrow-libs/gradle/animalsniffer.gradle b/arrow-libs/gradle/animalsniffer.gradle index ed8b4a9764a..ba5b083e311 100644 --- a/arrow-libs/gradle/animalsniffer.gradle +++ b/arrow-libs/gradle/animalsniffer.gradle @@ -22,6 +22,6 @@ animalsniffer { ignore 'java.lang.*' } dependencies { - implementation "org.codehaus.mojo:animal-sniffer-annotations:1.23" + implementation "org.codehaus.mojo:animal-sniffer-annotations:1.24" signature 'net.sf.androidscents.signature:android-api-level-21:5.0.1_r2@signature' } diff --git a/arrow-libs/optics/arrow-optics-compose/api/android/arrow-optics-compose.api b/arrow-libs/optics/arrow-optics-compose/api/android/arrow-optics-compose.api index 42c944cec77..0e5a0f76fc9 100644 --- a/arrow-libs/optics/arrow-optics-compose/api/android/arrow-optics-compose.api +++ b/arrow-libs/optics/arrow-optics-compose/api/android/arrow-optics-compose.api @@ -1,16 +1,16 @@ -public final class arrow/optics/CopyKt { +public final class arrow/optics/ComposeCopyKt { public static final fun update (Landroidx/compose/runtime/MutableState;Lkotlin/jvm/functions/Function1;)V public static final fun updateCopy (Landroidx/compose/runtime/MutableState;Lkotlin/jvm/functions/Function1;)V public static final fun updateCopy (Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlin/jvm/functions/Function1;)V } -public final class arrow/optics/FlowKt { +public final class arrow/optics/ComposeFlowKt { public static final fun optic (Lkotlinx/coroutines/flow/MutableStateFlow;Larrow/optics/PLens;)Lkotlinx/coroutines/flow/MutableStateFlow; public static final fun optic (Lkotlinx/coroutines/flow/SharedFlow;Larrow/optics/PLens;)Lkotlinx/coroutines/flow/SharedFlow; public static final fun optic (Lkotlinx/coroutines/flow/StateFlow;Larrow/optics/PLens;)Lkotlinx/coroutines/flow/StateFlow; } -public final class arrow/optics/StateKt { +public final class arrow/optics/ComposeStateKt { public static final fun optic (Landroidx/compose/runtime/MutableState;Larrow/optics/PLens;)Landroidx/compose/runtime/MutableState; public static final fun optic (Landroidx/compose/runtime/State;Larrow/optics/PLens;)Landroidx/compose/runtime/State; } diff --git a/arrow-libs/optics/arrow-optics-compose/api/arrow-optics-compose.klib.api b/arrow-libs/optics/arrow-optics-compose/api/arrow-optics-compose.klib.api new file mode 100644 index 00000000000..dd1735051fa --- /dev/null +++ b/arrow-libs/optics/arrow-optics-compose/api/arrow-optics-compose.klib.api @@ -0,0 +1,16 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (androidx.compose.runtime/MutableState<#A>).arrow.optics/optic(arrow.optics/PLens<#A, #A, #B, #B>): androidx.compose.runtime/MutableState<#B> // arrow.optics/optic|optic@androidx.compose.runtime.MutableState<0:0>(arrow.optics.PLens<0:0,0:0,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (androidx.compose.runtime/State<#A>).arrow.optics/optic(arrow.optics/PLens<#A, #A, #B, #B>): androidx.compose.runtime/State<#B> // arrow.optics/optic|optic@androidx.compose.runtime.State<0:0>(arrow.optics.PLens<0:0,0:0,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/MutableStateFlow<#A>).arrow.optics/optic(arrow.optics/PLens<#A, #A, #B, #B>): kotlinx.coroutines.flow/MutableStateFlow<#B> // arrow.optics/optic|optic@kotlinx.coroutines.flow.MutableStateFlow<0:0>(arrow.optics.PLens<0:0,0:0,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/SharedFlow<#A>).arrow.optics/optic(arrow.optics/PLens<#A, #A, #B, #B>): kotlinx.coroutines.flow/SharedFlow<#B> // arrow.optics/optic|optic@kotlinx.coroutines.flow.SharedFlow<0:0>(arrow.optics.PLens<0:0,0:0,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/StateFlow<#A>).arrow.optics/optic(arrow.optics/PLens<#A, #A, #B, #B>): kotlinx.coroutines.flow/StateFlow<#B> // arrow.optics/optic|optic@kotlinx.coroutines.flow.StateFlow<0:0>(arrow.optics.PLens<0:0,0:0,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?> (androidx.compose.runtime/MutableState<#A>).arrow.optics/updateCopy(kotlin/Function1, kotlin/Unit>) // arrow.optics/updateCopy|updateCopy@androidx.compose.runtime.MutableState<0:0>(kotlin.Function1,kotlin.Unit>){0§}[0] +final fun <#A: kotlin/Any?> (kotlinx.coroutines.flow/MutableStateFlow<#A>).arrow.optics/updateCopy(kotlin/Function1, kotlin/Unit>) // arrow.optics/updateCopy|updateCopy@kotlinx.coroutines.flow.MutableStateFlow<0:0>(kotlin.Function1,kotlin.Unit>){0§}[0] +final inline fun <#A: kotlin/Any?> (androidx.compose.runtime/MutableState<#A>).arrow.optics/update(crossinline kotlin/Function1<#A, #A>) // arrow.optics/update|update@androidx.compose.runtime.MutableState<0:0>(kotlin.Function1<0:0,0:0>){0§}[0] diff --git a/arrow-libs/optics/arrow-optics-compose/api/jvm/arrow-optics-compose.api b/arrow-libs/optics/arrow-optics-compose/api/jvm/arrow-optics-compose.api index 42c944cec77..0e5a0f76fc9 100644 --- a/arrow-libs/optics/arrow-optics-compose/api/jvm/arrow-optics-compose.api +++ b/arrow-libs/optics/arrow-optics-compose/api/jvm/arrow-optics-compose.api @@ -1,16 +1,16 @@ -public final class arrow/optics/CopyKt { +public final class arrow/optics/ComposeCopyKt { public static final fun update (Landroidx/compose/runtime/MutableState;Lkotlin/jvm/functions/Function1;)V public static final fun updateCopy (Landroidx/compose/runtime/MutableState;Lkotlin/jvm/functions/Function1;)V public static final fun updateCopy (Lkotlinx/coroutines/flow/MutableStateFlow;Lkotlin/jvm/functions/Function1;)V } -public final class arrow/optics/FlowKt { +public final class arrow/optics/ComposeFlowKt { public static final fun optic (Lkotlinx/coroutines/flow/MutableStateFlow;Larrow/optics/PLens;)Lkotlinx/coroutines/flow/MutableStateFlow; public static final fun optic (Lkotlinx/coroutines/flow/SharedFlow;Larrow/optics/PLens;)Lkotlinx/coroutines/flow/SharedFlow; public static final fun optic (Lkotlinx/coroutines/flow/StateFlow;Larrow/optics/PLens;)Lkotlinx/coroutines/flow/StateFlow; } -public final class arrow/optics/StateKt { +public final class arrow/optics/ComposeStateKt { public static final fun optic (Landroidx/compose/runtime/MutableState;Larrow/optics/PLens;)Landroidx/compose/runtime/MutableState; public static final fun optic (Landroidx/compose/runtime/State;Larrow/optics/PLens;)Landroidx/compose/runtime/State; } diff --git a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts index 4a10435a93a..7fb8dbd8e9c 100644 --- a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts @@ -1,6 +1,8 @@ @file:Suppress("DSL_SCOPE_VIOLATION") -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion +import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl repositories { @@ -12,24 +14,30 @@ repositories { plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) // alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.spotless) - alias(libs.plugins.jetbrainsCompose) + alias(libs.plugins.compose.jetbrains) + alias(libs.plugins.compose.compiler) alias(libs.plugins.android.library) } apply(from = property("ANIMALSNIFFER_MPP")) +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(8)) + } +} + kotlin { explicitApi() - jvm { - jvmToolchain(8) - } + jvm() js(IR) { browser() nodejs() } + @OptIn(ExperimentalWasmDsl::class) wasmJs() androidTarget() // Native: https://kotlinlang.org/docs/native-target-support.html // -- Tier 1 -- @@ -68,18 +76,23 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { useJUnitPlatform() } -compose { +composeCompiler { // override the choice of Compose if we use a Kotlin -dev version val kotlinVersion = project.rootProject.properties["kotlin_version"] as? String if (kotlinVersion != null && kotlinVersion.contains("-dev-")) { - kotlinCompilerPlugin.set(dependencies.compiler.forKotlin("2.0.0-Beta1")) - kotlinCompilerPluginArgs.add("suppressKotlinVersionCompatibilityCheck=$kotlinVersion") + ext["suppressKotlinVersionCompatibilityCheck"] = kotlinVersion } } @@ -93,3 +106,18 @@ tasks.named("jvmJar").configure { attributes["Automatic-Module-Name"] = "arrow.optics.compose" } } + +// https://youtrack.jetbrains.com/issue/KT-68095/MPP-Compose-Kover-Cannot-expand-ZIP-build-kover-default.artifact +val compileTargetsThatNeedKoverFix = listOf("iosSimulatorArm64", "iosX64", "iosArm64", "watchosSimulatorArm64", "watchosX64", "macosArm64", "macosX64", "tvosSimulatorArm64", "tvosX64", "js", "mingwX64", "linuxX64") + +afterEvaluate { + for (task in compileTargetsThatNeedKoverFix) { + tasks.named("${task}ResolveResourcesFromDependencies") { + doFirst { + rootProject.subprojects.forEach { + delete(it.layout.buildDirectory.file("kover/default.artifact")) + } + } + } + } +} diff --git a/arrow-libs/optics/arrow-optics-compose/gradle.properties b/arrow-libs/optics/arrow-optics-compose/gradle.properties index d569b6effb4..7a8cafdc66e 100644 --- a/arrow-libs/optics/arrow-optics-compose/gradle.properties +++ b/arrow-libs/optics/arrow-optics-compose/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Optics for Compose +POM_NAME=Arrow Optics for Compose # Build configuration kapt.incremental.apt=false \ No newline at end of file diff --git a/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Copy.kt b/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Copy.kt index 4fa50e90cba..38d47efe631 100644 --- a/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Copy.kt +++ b/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Copy.kt @@ -1,9 +1,12 @@ +@file:JvmName("ComposeCopyKt") + package arrow.optics import androidx.compose.runtime.MutableState import androidx.compose.runtime.snapshots.Snapshot import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.update +import kotlin.jvm.JvmName /** * Modifies the value in this [MutableState] diff --git a/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Flow.kt b/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Flow.kt index 7d58bc73ba2..fe8dce19596 100644 --- a/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Flow.kt +++ b/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/Flow.kt @@ -1,3 +1,5 @@ +@file:JvmName("ComposeFlowKt") + package arrow.optics import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -5,6 +7,7 @@ import kotlinx.coroutines.flow.FlowCollector import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.flow.StateFlow +import kotlin.jvm.JvmName /** * Exposes the values of [this] through the optic. diff --git a/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/State.kt b/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/State.kt index 23b681ebefe..d5261c8e58a 100644 --- a/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/State.kt +++ b/arrow-libs/optics/arrow-optics-compose/src/commonMain/kotlin/arrow/optics/State.kt @@ -1,7 +1,10 @@ +@file:JvmName("ComposeStateKt") + package arrow.optics import androidx.compose.runtime.MutableState import androidx.compose.runtime.State +import kotlin.jvm.JvmName /** * Exposes the value of [this] through the optic. diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts index fc326c9f5d4..3c68f03ec4f 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.jvm.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -16,6 +20,17 @@ spotless { kotlin { explicitApi = null + + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } +} + +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(11)) + } } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/gradle.properties b/arrow-libs/optics/arrow-optics-ksp-plugin/gradle.properties index 76898e2cbd4..3cad06197cf 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/gradle.properties +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/gradle.properties @@ -3,4 +3,4 @@ POM_NAME=Arrow Optics Compiler KSP Plugin POM_ARTIFACT_ID=arrow-optics-ksp-plugin POM_PACKAGING=jar -pom.name=Arrow Optics Compiler KSP Plugin +POM_NAME=Arrow Optics Compiler KSP Plugin diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/OpticsProcessorOptions.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/OpticsProcessorOptions.kt index 6f6dcd596e1..7870606b203 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/OpticsProcessorOptions.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/OpticsProcessorOptions.kt @@ -8,7 +8,7 @@ data class OpticsProcessorOptions( companion object { fun from(options: Map): OpticsProcessorOptions = OpticsProcessorOptions( - useInline = options.getOrDefault("inline", "true").toBooleanStrict(), + useInline = options.getOrDefault("inline", "false").toBooleanStrict(), ) } } diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/domain.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/domain.kt index e7aec76af32..914aa757b77 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/domain.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/domain.kt @@ -13,7 +13,7 @@ import java.util.Locale data class ADT(val pckg: KSName, val declaration: KSClassDeclaration, val targets: List) { val sourceClassName = declaration.qualifiedNameOrSimpleName - val sourceName = declaration.simpleName.asString().replaceFirstChar { it.lowercase(Locale.getDefault()) } + val sourceName = declaration.simpleName.asString().replaceFirstChar { it.lowercase(Locale.getDefault()) }.sanitize() val simpleName = declaration.nameWithParentClass val packageName = pckg.asSanitizedString() val visibilityModifierName = when (declaration.companionObject?.getVisibility()) { @@ -75,7 +75,12 @@ data class Focus( val refinedType: KSType?, val onlyOneSealedSubclass: Boolean = false, val subclasses: List = emptyList(), + val classNameWithParameters: String? = className, ) { + val escapedParamName = paramName.plusIfNotBlank( + prefix = "`", + postfix = "`", + ) val refinedArguments: List get() = refinedType?.arguments?.filter { it.type?.resolve()?.declaration is KSTypeParameter diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/dsl.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/dsl.kt index 042e982f2b0..f8994b33d49 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/dsl.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/dsl.kt @@ -1,8 +1,9 @@ package arrow.optics.plugin.internals +import arrow.optics.plugin.OpticsProcessorOptions import com.google.devtools.ksp.getDeclaredProperties -fun generateLensDsl(ele: ADT, optic: DataClassDsl): Snippet { +fun OpticsProcessorOptions.generateLensDsl(ele: ADT, optic: DataClassDsl): Snippet { val (className, import) = resolveClassName(ele) return Snippet( `package` = ele.packageName, @@ -12,7 +13,7 @@ fun generateLensDsl(ele: ADT, optic: DataClassDsl): Snippet { ) } -fun generatePrismDsl(ele: ADT, isoOptic: SealedClassDsl): Snippet { +fun OpticsProcessorOptions.generatePrismDsl(ele: ADT, isoOptic: SealedClassDsl): Snippet { val (className, import) = resolveClassName(ele) return Snippet( `package` = ele.packageName, @@ -22,7 +23,7 @@ fun generatePrismDsl(ele: ADT, isoOptic: SealedClassDsl): Snippet { ) } -fun generateIsoDsl(ele: ADT, isoOptic: ValueClassDsl): Snippet { +fun OpticsProcessorOptions.generateIsoDsl(ele: ADT, isoOptic: ValueClassDsl): Snippet { val (className, import) = resolveClassName(ele) return Snippet( `package` = ele.packageName, @@ -32,13 +33,13 @@ fun generateIsoDsl(ele: ADT, isoOptic: ValueClassDsl): Snippet { ) } -private fun processLensSyntax(ele: ADT, foci: List, className: String): String { +private fun OpticsProcessorOptions.processLensSyntax(ele: ADT, foci: List, className: String): String { return if (ele.typeParameters.isEmpty()) { foci.joinToString(separator = "\n") { focus -> """ - |${ele.visibilityModifierName} inline val $Lens.${focus.lensParamName()}: $Lens inline get() = this + $className.${focus.lensParamName()} - |${ele.visibilityModifierName} inline val $Optional.${focus.lensParamName()}: $Optional inline get() = this + $className.${focus.lensParamName()} - |${ele.visibilityModifierName} inline val $Traversal.${focus.lensParamName()}: $Traversal inline get() = this + $className.${focus.lensParamName()} + |${ele.visibilityModifierName} $inlineText val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Lens<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} | """.trimMargin() } @@ -47,22 +48,22 @@ private fun processLensSyntax(ele: ADT, foci: List, className: String): S val joinedTypeParams = ele.typeParameters.joinToString(separator = ",") foci.joinToString(separator = "\n") { focus -> """ - |${ele.visibilityModifierName} inline fun $Lens.${focus.lensParamName()}(): $Lens = this + $className.${focus.lensParamName()}() - |${ele.visibilityModifierName} inline fun $Optional.${focus.lensParamName()}(): $Optional = this + $className.${focus.lensParamName()}() - |${ele.visibilityModifierName} inline fun $Traversal.${focus.lensParamName()}(): $Traversal = this + $className.${focus.lensParamName()}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() | """.trimMargin() } } } -private fun processPrismSyntax(ele: ADT, dsl: SealedClassDsl, className: String): String = +private fun OpticsProcessorOptions.processPrismSyntax(ele: ADT, dsl: SealedClassDsl, className: String): String = if (ele.typeParameters.isEmpty()) { dsl.foci.joinToString(separator = "\n\n") { focus -> """ - |${ele.visibilityModifierName} inline val $Optional.${focus.paramName}: $Optional inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val $Prism.${focus.paramName}: $Prism inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val $Traversal.${focus.paramName}: $Traversal inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} $inlineText val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Prism<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} | """.trimMargin() } @@ -74,23 +75,23 @@ private fun processPrismSyntax(ele: ADT, dsl: SealedClassDsl, className: String) else -> focus.refinedArguments.joinToString(separator = ",") } """ - |${ele.visibilityModifierName} inline fun $Optional.${focus.paramName}(): $Optional = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun $Prism.${focus.paramName}(): $Prism = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun $Traversal.${focus.paramName}(): $Traversal = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() | """.trimMargin() } } -private fun processIsoSyntax(ele: ADT, dsl: ValueClassDsl, className: String): String = +private fun OpticsProcessorOptions.processIsoSyntax(ele: ADT, dsl: ValueClassDsl, className: String): String = if (ele.typeParameters.isEmpty()) { dsl.foci.joinToString(separator = "\n\n") { focus -> """ - |${ele.visibilityModifierName} inline val $Iso.${focus.paramName}: $Iso inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val $Lens.${focus.paramName}: $Lens inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val $Optional.${focus.paramName}: $Optional inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val $Prism.${focus.paramName}: $Prism inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val $Traversal.${focus.paramName}: $Traversal inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} $inlineText val <__S> $Iso<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Iso<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Lens<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Prism<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} $inlineText val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> $inlineText get() = this + $className.${focus.escapedParamName} | """.trimMargin() } @@ -102,11 +103,11 @@ private fun processIsoSyntax(ele: ADT, dsl: ValueClassDsl, className: String): S else -> focus.refinedArguments.joinToString(separator = ",") } """ - |${ele.visibilityModifierName} inline fun $Iso.${focus.paramName}(): $Iso = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun $Lens.${focus.paramName}(): $Lens = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun $Optional.${focus.paramName}(): $Optional = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun $Prism.${focus.paramName}(): $Prism = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun $Traversal.${focus.paramName}(): $Traversal = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Iso<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Iso<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} $inlineText fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() | """.trimMargin() } diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/iso.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/iso.kt index fd15d46fb34..bb8db8e7875 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/iso.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/iso.kt @@ -9,18 +9,14 @@ private fun OpticsProcessorOptions.processElement(adt: ADT, focus: Focus): Strin val sourceClassNameWithParams = "${adt.sourceClassName}${adt.angledTypeParameters}" val firstLine = when { adt.typeParameters.isEmpty() -> - "${adt.visibilityModifierName} $inlineText val ${adt.sourceClassName}.Companion.${focus.paramName}: $Iso<${adt.sourceClassName}, ${focus.className}> $inlineText get()" + "${adt.visibilityModifierName} $inlineText val ${adt.sourceClassName}.Companion.${focus.escapedParamName}: $Iso<${adt.sourceClassName}, ${focus.className}> $inlineText get()" else -> - "${adt.visibilityModifierName} $inlineText fun ${adt.angledTypeParameters} ${adt.sourceClassName}.Companion.${focus.paramName}(): $Iso<$sourceClassNameWithParams, ${focus.className}>" + "${adt.visibilityModifierName} $inlineText fun ${adt.angledTypeParameters} ${adt.sourceClassName}.Companion.${focus.escapedParamName}(): $Iso<$sourceClassNameWithParams, ${focus.className}>" } - val fineParamName = focus.paramName.plusIfNotBlank( - prefix = "`", - postfix = "`", - ) return """ |$firstLine = $Iso( - | get = { ${adt.sourceName}: $sourceClassNameWithParams -> ${adt.sourceName}.$fineParamName }, - | reverseGet = { $fineParamName: ${focus.className} -> ${adt.sourceClassName}($fineParamName) } + | get = { ${adt.sourceName}: $sourceClassNameWithParams -> ${adt.sourceName}.${focus.escapedParamName} }, + | reverseGet = { ${focus.escapedParamName}: ${focus.className} -> ${adt.sourceClassName}(${focus.escapedParamName}) } |) | """.trimMargin() diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/lenses.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/lenses.kt index 40b5905c4a0..fed5eeb5f49 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/lenses.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/lenses.kt @@ -14,10 +14,7 @@ private fun OpticsProcessorOptions.processElement(adt: ADT, foci: List): val setBody = { focus: Focus -> val setBodyCopy = """${adt.sourceName}.copy(${ - focus.paramName.plusIfNotBlank( - prefix = "`", - postfix = "`", - ) + focus.escapedParamName } = value)""" when { focus.subclasses.isNotEmpty() -> { @@ -34,18 +31,13 @@ private fun OpticsProcessorOptions.processElement(adt: ADT, foci: List): return foci.joinToString(separator = "\n") { focus -> val firstLine = when { adt.typeParameters.isEmpty() -> - "${adt.visibilityModifierName} $inlineText val ${adt.sourceClassName}.Companion.${focus.lensParamName()}: $Lens<${adt.sourceClassName}, ${focus.className}> $inlineText get()" + "${adt.visibilityModifierName} $inlineText val ${adt.sourceClassName}.Companion.${focus.escapedParamName}: $Lens<${adt.sourceClassName}, ${focus.className}> $inlineText get()" else -> - "${adt.visibilityModifierName} $inlineText fun ${adt.angledTypeParameters} ${adt.sourceClassName}.Companion.${focus.lensParamName()}(): $Lens<$sourceClassNameWithParams, ${focus.className}>" + "${adt.visibilityModifierName} $inlineText fun ${adt.angledTypeParameters} ${adt.sourceClassName}.Companion.${focus.escapedParamName}(): $Lens<$sourceClassNameWithParams, ${focus.className}>" } """ |$firstLine = $Lens( - | get = { ${adt.sourceName}: $sourceClassNameWithParams -> ${adt.sourceName}.${ - focus.paramName.plusIfNotBlank( - prefix = "`", - postfix = "`", - ) - } }, + | get = { ${adt.sourceName}: $sourceClassNameWithParams -> ${adt.sourceName}.${focus.escapedParamName} }, | set = { ${adt.sourceName}: $sourceClassNameWithParams, value: ${focus.className} -> | ${setBody(focus)} |} @@ -54,5 +46,3 @@ private fun OpticsProcessorOptions.processElement(adt: ADT, foci: List): """.trimMargin() } } - -fun Focus.lensParamName(): String = paramName diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/prism.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/prism.kt index 783a1e22cf6..266f0ad8044 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/prism.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/prism.kt @@ -21,30 +21,10 @@ private fun OpticsProcessorOptions.processElement(ele: ADT, foci: List): } val firstLine = when { ele.typeParameters.isEmpty() -> - "${ele.visibilityModifierName} $inlineText val ${ele.sourceClassName}.Companion.${focus.paramName}: $Prism<${ele.sourceClassName}, ${focus.className}> $inlineText get()" + "${ele.visibilityModifierName} $inlineText val ${ele.sourceClassName}.Companion.${focus.escapedParamName}: $Prism<${ele.sourceClassName}, ${focus.classNameWithParameters}> $inlineText get()" else -> - "${ele.visibilityModifierName} $inlineText fun $angledTypeParameters ${ele.sourceClassName}.Companion.${focus.paramName}(): $Prism<$sourceClassNameWithParams, ${focus.className}>" + "${ele.visibilityModifierName} $inlineText fun $angledTypeParameters ${ele.sourceClassName}.Companion.${focus.escapedParamName}(): $Prism<$sourceClassNameWithParams, ${focus.classNameWithParameters}>" } - - val elseBranch = if (focus.onlyOneSealedSubclass) { - "" - } else { - """ - | else -> ${ele.sourceName}.left() - """.trimMargin() - } - - """ - |$firstLine = $Prism( - | getOrModify = { ${ele.sourceName}: $sourceClassNameWithParams -> - | when (${ele.sourceName}) { - | is ${focus.className} -> ${ele.sourceName}.right() - | $elseBranch - | } - | }, - | reverseGet = ::identity - |) - | - """.trimMargin() + "$firstLine = $Prism.instanceOf()" } } diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/processor.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/processor.kt index 0426ef26475..fedbc9d37fb 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/processor.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/processor.kt @@ -72,12 +72,13 @@ internal fun evalAnnotatedPrismElement( when { element.isSealed -> { val sealedSubclasses = element.getSealedSubclasses().toList() - sealedSubclasses.map { + sealedSubclasses.map { subclass -> Focus( - it.primaryConstructor?.returnType?.resolve()?.qualifiedString() ?: it.qualifiedNameOrSimpleName, - it.simpleName.asString().replaceFirstChar { c -> c.lowercase(Locale.getDefault()) }, - it.superTypes.first().resolve(), + subclass.qualifiedNameOrSimpleName, + subclass.simpleName.asString().replaceFirstChar { c -> c.lowercase(Locale.getDefault()) }, + subclass.superTypes.first().resolve(), onlyOneSealedSubclass = sealedSubclasses.size == 1, + classNameWithParameters = subclass.qualifiedNameOrSimpleNameWithTypeParameters, ) } } @@ -90,6 +91,12 @@ internal fun evalAnnotatedPrismElement( internal val KSDeclaration.qualifiedNameOrSimpleName: String get() = (qualifiedName ?: simpleName).asSanitizedString() +internal val KSClassDeclaration.qualifiedNameOrSimpleNameWithTypeParameters: String + get() = when { + typeParameters.isEmpty() -> qualifiedNameOrSimpleName + else -> "$qualifiedNameOrSimpleName<${typeParameters.joinToString { it.simpleName.asString() }}>" + } + internal fun evalAnnotatedDataClass( element: KSClassDeclaration, errorMessage: String, diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/snippets.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/snippets.kt index 89dd95adebc..78efa4f46d0 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/snippets.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/snippets.kt @@ -8,9 +8,9 @@ internal fun ADT.snippets(options: OpticsProcessorOptions): List = is IsoTarget -> options.generateIsos(this, it) is PrismTarget -> options.generatePrisms(this, it) is LensTarget -> options.generateLenses(this, it) - is SealedClassDsl -> generatePrismDsl(this, it) - is DataClassDsl -> generateLensDsl(this, it) - is ValueClassDsl -> generateIsoDsl(this, it) + is SealedClassDsl -> options.generatePrismDsl(this, it) + is DataClassDsl -> options.generateLensDsl(this, it) + is ValueClassDsl -> options.generateIsoDsl(this, it) } } diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/Compilation.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/Compilation.kt index 08b4121a479..5687ec0ece8 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/Compilation.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/Compilation.kt @@ -6,6 +6,7 @@ import com.tschuchort.compiletesting.CompilationResult import com.tschuchort.compiletesting.KotlinCompilation import com.tschuchort.compiletesting.SourceFile import com.tschuchort.compiletesting.kspSourcesDir +import com.tschuchort.compiletesting.kspWithCompilation import com.tschuchort.compiletesting.symbolProcessorProviders import io.github.classgraph.ClassGraph import io.kotest.assertions.withClue @@ -56,6 +57,8 @@ fun String.evals(thing: Pair) { internal fun compile(text: String, allWarningsAsErrors: Boolean = false): CompilationResult { val compilation = buildCompilation(text, allWarningsAsErrors = allWarningsAsErrors) + return compilation.compile() + /* HACK NOT NEEDED ANYMORE :) // fix problems with double compilation and KSP // as stated in https://github.com/tschuchortdev/kotlin-compile-testing/issues/72 val pass1 = compilation.compile() @@ -65,9 +68,12 @@ internal fun compile(text: String, allWarningsAsErrors: Boolean = false): Compil return buildCompilation(text) .apply { sources = compilation.sources + compilation.kspGeneratedSourceFiles - symbolProcessorProviders = emptyList() + symbolProcessorProviders = mutableListOf() + kspWithCompilation = true } .compile() + + */ } fun buildCompilation(text: String, allWarningsAsErrors: Boolean = false) = KotlinCompilation().apply { @@ -76,10 +82,12 @@ fun buildCompilation(text: String, allWarningsAsErrors: Boolean = false) = Kotli "arrow-core:$arrowVersion", "arrow-optics:$arrowVersion", ).map { classpathOf(it) } - symbolProcessorProviders = listOf(OpticsProcessorProvider()) + symbolProcessorProviders = mutableListOf(OpticsProcessorProvider()) sources = listOf(SourceFile.kotlin(SOURCE_FILENAME, text.trimMargin())) verbose = false this.allWarningsAsErrors = allWarningsAsErrors + languageVersion = "1.9" + kspWithCompilation = true } private fun classpathOf(dependency: String): File { diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/DSLTests.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/DSLTests.kt index 076c439e094..b8e7b06d942 100755 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/DSLTests.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/DSLTests.kt @@ -11,7 +11,7 @@ class DSLTests { |$imports |$dslModel |$dslValues - |val modify = Employees.employees.every(Every.list()).company.notNull.address + |val modify = Employees.employees.every.company.notNull.address | .street.name.modify(employees, String::toUpperCase) |val r = modify.employees.map { it.company?.address?.street?.name }.toString() """.evals("r" to "[LAMBDA STREET, LAMBDA STREET]") @@ -112,6 +112,28 @@ class DSLTests { """.compilationSucceeds() } + @Test + fun `DSL for a class in a package including it, issue #3441`() { + """ + |package it.facile.assicurati + | + |$imports + | + |@optics + |data class Source(val models: String) { + | companion object + |} + | + |@optics + |sealed class PrismSealed(val field: String, val nullable: String?) { + | data class PrismSealed1(private val a: String?) : PrismSealed("", a) + | data class PrismSealed2(private val b: String?) : PrismSealed("", b) + | companion object + |} + | + """.compilationSucceeds() + } + @Test fun `DSL works with variance, issue #3057`() { """ @@ -130,5 +152,80 @@ class DSLTests { """.compilationSucceeds() } - // Db.content.at(At.map(), One).set(db, None) + @Test + fun `Using S as a type, #3399`() { + """ + |$`package` + |$imports + |@optics + |data class Box(val s: S) { + | companion object + |} + | + |val i: Lens, Int> = Box.s() + |val r = i != null + """.evals("r" to true) + } + + @Test + fun `Nested generic sealed hierarchies, #3384`() { + """ + |$`package` + |$imports + |@optics + |sealed interface LoadingContentOrError { + | data object Loading : LoadingContentOrError + | + | @optics + | sealed interface ContentOrError : LoadingContentOrError { + | companion object + | } + | + | @optics + | data class Content(val data: Data) : ContentOrError { + | companion object + | } + | + | @optics + | data class Error(val error: Throwable) : ContentOrError { + | companion object + | } + | + | companion object + |} + """.compilationSucceeds() + } + + @Test + fun `Using Object as the name a class, prisms, #3474`() { + """ + |$`package` + |$imports + | + |@optics + |sealed interface Thing { + | data class Object(val value: Int) : Thing + | companion object + |} + | + |val i: Prism = Thing.`object` + |val r = i != null + """.evals("r" to true) + } + + @Test + fun `Using Object as the name a class, lenses, #3474`() { + """ + |$`package` + |$imports + | + |@optics + |data class Object(val value: Int) { + | companion object + |} + | + |val i: Lens = Object.value + |val r = i != null + """.evals("r" to true) + } } diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/IsoTests.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/IsoTests.kt index 0abf877cc4a..f23deb56e58 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/IsoTests.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/IsoTests.kt @@ -1,6 +1,7 @@ package arrow.optics.plugin import arrow.optics.plugin.internals.noCompanion +import kotlin.test.Ignore import kotlin.test.Test class IsoTests { @@ -20,6 +21,31 @@ class IsoTests { """.evals("r" to true) } + @Test + fun `Isos will be generated for value class with parameters having keywords as names`() { + """ + |$`package` + |$imports + |@optics @JvmInline + |value class IsoData( + | val `in`: String + |) { companion object } + """.compilationSucceeds() + } + + @Test + @Ignore("Needs fixing joinedTypeParams in processIsoSyntax function") + fun `Isos will be generated for generic value class with parameters having keywords as names`() { + """ + |$`package` + |$imports + |@optics @JvmInline + |value class IsoData( + | val `in`: T + |) { companion object } + """.compilationSucceeds() + } + @Test fun `Iso generation requires companion object declaration`() { """ diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/LensTests.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/LensTests.kt index d2de3cbb89e..6050901eda3 100755 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/LensTests.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/LensTests.kt @@ -19,6 +19,30 @@ class LensTests { """.evals("r" to true) } + @Test + fun `Lenses will be generated for data class with parameters having keywords as names`() { + """ + |$`package` + |$imports + |@optics + |data class LensData( + | val `in`: String + |) { companion object } + """.compilationSucceeds() + } + + @Test + fun `Lenses will be generated for generic data class with parameters having keywords as names`() { + """ + |$`package` + |$imports + |@optics + |data class LensData( + | val `in`: T + |) { companion object } + """.compilationSucceeds() + } + @Test fun `Lenses will be generated for data class with secondary constructors`() { """ diff --git a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/PrismTests.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/PrismTests.kt index 1b5dcec76d6..1757b6f46a0 100755 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/PrismTests.kt +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/PrismTests.kt @@ -16,7 +16,7 @@ class PrismTests { | companion object |} |val i: Prism = PrismSealed.prismSealed1 - """.compilationSucceeds(allWarningsAsErrors = true) + """.compilationSucceeds() } @Test @@ -31,7 +31,37 @@ class PrismTests { | companion object |} |val i: Prism, PrismSealed.PrismSealed1> = PrismSealed.prismSealed1() - """.compilationSucceeds(allWarningsAsErrors = true) + """.compilationSucceeds() + } + + @Test + fun `Prism will be generated for sealed class and subclasses having keywords as names`() { + """ + |$`package` + |$imports + |@optics + |sealed class PrismSealed(val field: String, val nullable: String?) { + | data class In(private val a: String?) : PrismSealed("", a) + | data class PrismSealed2(private val b: String?) : PrismSealed("", b) + | companion object + |} + |val i: Prism = PrismSealed.`in` + """.compilationSucceeds() + } + + @Test + fun `Prism will be generated for generic sealed class and subclasses having keywords as names`() { + """ + |$`package` + |$imports + |@optics + |sealed class PrismSealed(val field: A, val nullable: B?) { + | data class In(private val a: String?) : PrismSealed("", a) + | data class PrismSealed2(private val b: C?) : PrismSealed("", b) + | companion object + |} + |val i: Prism, PrismSealed.In> = PrismSealed.`in`() + """.compilationSucceeds() } @Test @@ -45,7 +75,7 @@ class PrismTests { | companion object |} |val i: Prism = PrismSealed.prismSealed1 - """.compilationSucceeds(allWarningsAsErrors = true) + """.compilationSucceeds() } @Test diff --git a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts index 34c9a211738..6f57cda752f 100644 --- a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.jvm.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -30,6 +34,14 @@ dependencies { testImplementation(libs.kotest.property) } +kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } +} + tasks.jar { manifest { attributes["Automatic-Module-Name"] = "arrow.optics.reflect" diff --git a/arrow-libs/optics/arrow-optics-reflect/gradle.properties b/arrow-libs/optics/arrow-optics-reflect/gradle.properties index 73a39de367f..bc7a92ed517 100644 --- a/arrow-libs/optics/arrow-optics-reflect/gradle.properties +++ b/arrow-libs/optics/arrow-optics-reflect/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Optics for Kotlin Reflection +POM_NAME=Arrow Optics for Kotlin Reflection # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index cd3a6020a8b..68d01ff29e4 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -12,6 +12,14 @@ public final class arrow/optics/CopyKt { public static final fun copy (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; } +public final class arrow/optics/DelicateKt { + public static final fun filter (Larrow/optics/POptional$Companion;Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; + public static final fun fromLenses (Larrow/optics/PTraversal$Companion;Larrow/optics/PLens;[Larrow/optics/PLens;)Larrow/optics/PTraversal; +} + +public abstract interface annotation class arrow/optics/DelicateOptic : java/lang/annotation/Annotation { +} + public final class arrow/optics/Every { public static final field INSTANCE Larrow/optics/Every; public static final fun either ()Larrow/optics/PTraversal; @@ -31,6 +39,10 @@ public final class arrow/optics/Every { public static final fun tuple9 ()Larrow/optics/PTraversal; } +public final class arrow/optics/LensKt { + public static final fun composeNull (Larrow/optics/PLens;Larrow/optics/PLens;)Larrow/optics/PLens; +} + public final class arrow/optics/ListKt { public static final fun cons (Ljava/lang/Object;Ljava/util/List;)Ljava/util/List; public static final fun get (Larrow/optics/PLens;I)Larrow/optics/POptional; @@ -101,6 +113,7 @@ public final class arrow/optics/PIso$DefaultImpls { public static fun compose (Larrow/optics/PIso;Larrow/optics/POptional;)Larrow/optics/POptional; public static fun compose (Larrow/optics/PIso;Larrow/optics/PPrism;)Larrow/optics/PPrism; public static fun compose (Larrow/optics/PIso;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static fun composeLazy (Larrow/optics/PIso;Lkotlin/jvm/functions/Function0;)Larrow/optics/PTraversal; public static fun exists (Larrow/optics/PIso;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static fun findOrNull (Larrow/optics/PIso;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static fun first (Larrow/optics/PIso;)Larrow/optics/PIso; @@ -189,6 +202,7 @@ public final class arrow/optics/PLens$DefaultImpls { public static fun compose (Larrow/optics/PLens;Larrow/optics/PLens;)Larrow/optics/PLens; public static fun compose (Larrow/optics/PLens;Larrow/optics/POptional;)Larrow/optics/POptional; public static fun compose (Larrow/optics/PLens;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static fun composeLazy (Larrow/optics/PLens;Lkotlin/jvm/functions/Function0;)Larrow/optics/PTraversal; public static fun exists (Larrow/optics/PLens;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static fun findOrNull (Larrow/optics/PLens;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static fun first (Larrow/optics/PLens;)Larrow/optics/PLens; @@ -251,6 +265,7 @@ public final class arrow/optics/POptional$DefaultImpls { public static fun choice (Larrow/optics/POptional;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; public static fun compose (Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; public static fun compose (Larrow/optics/POptional;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static fun composeLazy (Larrow/optics/POptional;Lkotlin/jvm/functions/Function0;)Larrow/optics/PTraversal; public static fun exists (Larrow/optics/POptional;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static fun findOrNull (Larrow/optics/POptional;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static fun first (Larrow/optics/POptional;)Larrow/optics/POptional; @@ -280,6 +295,7 @@ public abstract interface class arrow/optics/PPrism : arrow/optics/POptional { public abstract fun first ()Larrow/optics/PPrism; public abstract fun foldMap (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public abstract fun getOrModify (Ljava/lang/Object;)Larrow/core/Either; + public static fun instanceOf (Lkotlin/reflect/KClass;)Larrow/optics/PPrism; public abstract fun left ()Larrow/optics/PPrism; public abstract fun liftNullable (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1; public abstract fun modify (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; @@ -299,6 +315,7 @@ public final class arrow/optics/PPrism$Companion { public final fun eitherLeft ()Larrow/optics/PPrism; public final fun eitherRight ()Larrow/optics/PPrism; public final fun id ()Larrow/optics/PIso; + public final fun instanceOf (Lkotlin/reflect/KClass;)Larrow/optics/PPrism; public final fun invoke (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Larrow/optics/PPrism; public final fun none ()Larrow/optics/PPrism; public final fun only (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Larrow/optics/PPrism; @@ -317,6 +334,7 @@ public final class arrow/optics/PPrism$DefaultImpls { public static fun compose (Larrow/optics/PPrism;Larrow/optics/POptional;)Larrow/optics/POptional; public static fun compose (Larrow/optics/PPrism;Larrow/optics/PPrism;)Larrow/optics/PPrism; public static fun compose (Larrow/optics/PPrism;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static fun composeLazy (Larrow/optics/PPrism;Lkotlin/jvm/functions/Function0;)Larrow/optics/PTraversal; public static fun exists (Larrow/optics/PPrism;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static fun findOrNull (Larrow/optics/PPrism;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static fun first (Larrow/optics/PPrism;)Larrow/optics/PPrism; @@ -349,6 +367,7 @@ public abstract interface class arrow/optics/PTraversal { public abstract fun any (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public abstract fun choice (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; public abstract fun compose (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public abstract fun composeLazy (Lkotlin/jvm/functions/Function0;)Larrow/optics/PTraversal; public static fun either ()Larrow/optics/PTraversal; public abstract fun exists (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public abstract fun findOrNull (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; @@ -431,6 +450,7 @@ public final class arrow/optics/PTraversal$DefaultImpls { public static fun any (Larrow/optics/PTraversal;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static fun choice (Larrow/optics/PTraversal;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; public static fun compose (Larrow/optics/PTraversal;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static fun composeLazy (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function0;)Larrow/optics/PTraversal; public static fun exists (Larrow/optics/PTraversal;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Z public static fun findOrNull (Larrow/optics/PTraversal;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; public static fun firstOrNull (Larrow/optics/PTraversal;Ljava/lang/Object;)Ljava/lang/Object; @@ -451,8 +471,19 @@ public final class arrow/optics/PrismKt { public final class arrow/optics/dsl/AtKt { public static final fun at (Larrow/optics/PLens;Larrow/optics/typeclasses/At;Ljava/lang/Object;)Larrow/optics/PLens; + public static final fun at (Larrow/optics/PLens;Ljava/lang/Object;)Larrow/optics/PLens; public static final fun at (Larrow/optics/POptional;Larrow/optics/typeclasses/At;Ljava/lang/Object;)Larrow/optics/POptional; + public static final fun at (Larrow/optics/POptional;Ljava/lang/Object;)Larrow/optics/POptional; public static final fun at (Larrow/optics/PTraversal;Larrow/optics/typeclasses/At;Ljava/lang/Object;)Larrow/optics/PTraversal; + public static final fun at (Larrow/optics/PTraversal;Ljava/lang/Object;)Larrow/optics/PTraversal; + public static final fun atSet (Larrow/optics/PLens;Ljava/lang/Object;)Larrow/optics/PLens; + public static final fun atSet (Larrow/optics/POptional;Ljava/lang/Object;)Larrow/optics/POptional; + public static final fun atSet (Larrow/optics/PTraversal;Ljava/lang/Object;)Larrow/optics/PTraversal; +} + +public final class arrow/optics/dsl/DelicateKt { + public static final fun filter (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; + public static final fun filter (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; } public final class arrow/optics/dsl/EitherKt { @@ -466,11 +497,37 @@ public final class arrow/optics/dsl/EitherKt { public final class arrow/optics/dsl/EveryKt { public static final fun every (Larrow/optics/PTraversal;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun everyChar (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun everyNonEmptyList (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun everyRight (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun everySequence (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun everySome (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun everyValue (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun getEvery (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; +} + +public final class arrow/optics/dsl/FilterIndexKt { + public static final fun filterChars (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; + public static final fun filterIndex (Larrow/optics/PTraversal;Larrow/optics/typeclasses/FilterIndex;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; + public static final fun filterIndex (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; + public static final fun filterNonEmptyList (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; + public static final fun filterSequence (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; + public static final fun filterValues (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; } public final class arrow/optics/dsl/IndexKt { + public static final fun index (Larrow/optics/POptional;I)Larrow/optics/POptional; public static final fun index (Larrow/optics/POptional;Larrow/optics/typeclasses/Index;Ljava/lang/Object;)Larrow/optics/POptional; + public static final fun index (Larrow/optics/PTraversal;I)Larrow/optics/PTraversal; public static final fun index (Larrow/optics/PTraversal;Larrow/optics/typeclasses/Index;Ljava/lang/Object;)Larrow/optics/PTraversal; + public static final fun indexNonEmptyList (Larrow/optics/POptional;I)Larrow/optics/POptional; + public static final fun indexNonEmptyList (Larrow/optics/PTraversal;I)Larrow/optics/PTraversal; + public static final fun indexSequence (Larrow/optics/POptional;I)Larrow/optics/POptional; + public static final fun indexSequence (Larrow/optics/PTraversal;I)Larrow/optics/PTraversal; + public static final fun indexString (Larrow/optics/POptional;I)Larrow/optics/POptional; + public static final fun indexString (Larrow/optics/PTraversal;I)Larrow/optics/PTraversal; + public static final fun indexValues (Larrow/optics/POptional;Ljava/lang/Object;)Larrow/optics/POptional; + public static final fun indexValues (Larrow/optics/PTraversal;Ljava/lang/Object;)Larrow/optics/PTraversal; } public final class arrow/optics/dsl/NullableKt { @@ -483,6 +540,18 @@ public final class arrow/optics/dsl/OptionKt { public static final fun getSome (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; } +public final class arrow/optics/regex/RegexKt { + public static final fun and (Larrow/optics/PTraversal;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun onceOrMore (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun times (Larrow/optics/PTraversal;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun zeroOrMore (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; +} + +public final class arrow/optics/regex/dsl/RegexKt { + public static final fun onceOrMore (Larrow/optics/PTraversal;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; + public static final fun zeroOrMore (Larrow/optics/PTraversal;Larrow/optics/PTraversal;)Larrow/optics/PTraversal; +} + public abstract interface class arrow/optics/typeclasses/At { public static final field Companion Larrow/optics/typeclasses/At$Companion; public abstract fun at (Larrow/optics/PLens;Ljava/lang/Object;)Larrow/optics/PLens; diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api new file mode 100644 index 00000000000..32054b51f09 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -0,0 +1,376 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +open annotation class arrow.optics/DelicateOptic : kotlin/Annotation { // arrow.optics/DelicateOptic|null[0] + constructor () // arrow.optics/DelicateOptic.|(){}[0] +} + +open annotation class arrow.optics/OpticsCopyMarker : kotlin/Annotation { // arrow.optics/OpticsCopyMarker|null[0] + constructor () // arrow.optics/OpticsCopyMarker.|(){}[0] +} + +abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.optics.typeclasses/At { // arrow.optics.typeclasses/At|null[0] + abstract fun at(#B): arrow.optics/PLens<#A, #A, #C, #C> // arrow.optics.typeclasses/At.at|at(1:1){}[0] + open fun <#A1: kotlin/Any?> (arrow.optics/PLens<#A1, #A1, #A, #A>).at(#B): arrow.optics/PLens<#A1, #A1, #C, #C> // arrow.optics.typeclasses/At.at|at@arrow.optics.PLens<0:0,0:0,1:0,1:0>(1:1){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.optics/POptional<#A1, #A1, #A, #A>).at(#B): arrow.optics/POptional<#A1, #A1, #C, #C> // arrow.optics.typeclasses/At.at|at@arrow.optics.POptional<0:0,0:0,1:0,1:0>(1:1){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, #A, #A>).at(#B): arrow.optics/PTraversal<#A1, #A1, #C, #C> // arrow.optics.typeclasses/At.at|at@arrow.optics.PTraversal<0:0,0:0,1:0,1:0>(1:1){0§}[0] + + final object Companion { // arrow.optics.typeclasses/At.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> map(): arrow.optics.typeclasses/At, #A2, arrow.core/Option<#B2>> // arrow.optics.typeclasses/At.Companion.map|map(){0§;1§}[0] + final fun <#A2: kotlin/Any?> set(): arrow.optics.typeclasses/At, #A2, kotlin/Boolean> // arrow.optics.typeclasses/At.Companion.set|set(){0§}[0] + } +} + +abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.optics.typeclasses/FilterIndex { // arrow.optics.typeclasses/FilterIndex|null[0] + abstract fun filter(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #C, #C> // arrow.optics.typeclasses/FilterIndex.filter|filter(kotlin.Function1<1:1,kotlin.Boolean>){}[0] + + final object Companion { // arrow.optics.typeclasses/FilterIndex.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> map(): arrow.optics.typeclasses/FilterIndex, #A2, #B2> // arrow.optics.typeclasses/FilterIndex.Companion.map|map(){0§;1§}[0] + final fun <#A2: kotlin/Any?> list(): arrow.optics.typeclasses/FilterIndex, kotlin/Int, #A2> // arrow.optics.typeclasses/FilterIndex.Companion.list|list(){0§}[0] + final fun <#A2: kotlin/Any?> nonEmptyList(): arrow.optics.typeclasses/FilterIndex, kotlin/Int, #A2> // arrow.optics.typeclasses/FilterIndex.Companion.nonEmptyList|nonEmptyList(){0§}[0] + final fun <#A2: kotlin/Any?> sequence(): arrow.optics.typeclasses/FilterIndex, kotlin/Int, #A2> // arrow.optics.typeclasses/FilterIndex.Companion.sequence|sequence(){0§}[0] + final fun string(): arrow.optics.typeclasses/FilterIndex // arrow.optics.typeclasses/FilterIndex.Companion.string|string(){}[0] + } +} + +abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow.optics.typeclasses/Index { // arrow.optics.typeclasses/Index|null[0] + abstract fun index(#B): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.typeclasses/Index.index|index(1:1){}[0] + open fun <#A1: kotlin/Any?> (arrow.optics/POptional<#A1, #A1, #A, #A>).get(#B): arrow.optics/POptional<#A1, #A1, #C, #C> // arrow.optics.typeclasses/Index.get|get@arrow.optics.POptional<0:0,0:0,1:0,1:0>(1:1){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.optics/POptional<#A1, #A1, #A, #A>).index(#B): arrow.optics/POptional<#A1, #A1, #C, #C> // arrow.optics.typeclasses/Index.index|index@arrow.optics.POptional<0:0,0:0,1:0,1:0>(1:1){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, #A, #A>).get(#B): arrow.optics/PTraversal<#A1, #A1, #C, #C> // arrow.optics.typeclasses/Index.get|get@arrow.optics.PTraversal<0:0,0:0,1:0,1:0>(1:1){0§}[0] + open fun <#A1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, #A, #A>).index(#B): arrow.optics/PTraversal<#A1, #A1, #C, #C> // arrow.optics.typeclasses/Index.index|index@arrow.optics.PTraversal<0:0,0:0,1:0,1:0>(1:1){0§}[0] + + final object Companion { // arrow.optics.typeclasses/Index.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> map(): arrow.optics.typeclasses/Index, #A2, #B2> // arrow.optics.typeclasses/Index.Companion.map|map(){0§;1§}[0] + final fun <#A2: kotlin/Any?> list(): arrow.optics.typeclasses/Index, kotlin/Int, #A2> // arrow.optics.typeclasses/Index.Companion.list|list(){0§}[0] + final fun <#A2: kotlin/Any?> nonEmptyList(): arrow.optics.typeclasses/Index, kotlin/Int, #A2> // arrow.optics.typeclasses/Index.Companion.nonEmptyList|nonEmptyList(){0§}[0] + final fun <#A2: kotlin/Any?> sequence(): arrow.optics.typeclasses/Index, kotlin/Int, #A2> // arrow.optics.typeclasses/Index.Companion.sequence|sequence(){0§}[0] + final fun string(): arrow.optics.typeclasses/Index // arrow.optics.typeclasses/Index.Companion.string|string(){}[0] + } +} + +abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics.typeclasses/Cons { // arrow.optics.typeclasses/Cons|null[0] + abstract fun cons(): arrow.optics/PPrism<#A, #A, kotlin/Pair<#B, #A>, kotlin/Pair<#B, #A>> // arrow.optics.typeclasses/Cons.cons|cons(){}[0] + open fun (#A).uncons(): kotlin/Pair<#B, #A>? // arrow.optics.typeclasses/Cons.uncons|uncons@1:0(){}[0] + open fun (#B).cons(#A): #A // arrow.optics.typeclasses/Cons.cons|cons@1:1(1:0){}[0] + open fun firstOption(): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.typeclasses/Cons.firstOption|firstOption(){}[0] + open fun tailOption(): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.typeclasses/Cons.tailOption|tailOption(){}[0] + + final object Companion { // arrow.optics.typeclasses/Cons.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> invoke(arrow.optics/PPrism<#A2, #A2, kotlin/Pair<#B2, #A2>, kotlin/Pair<#B2, #A2>>): arrow.optics.typeclasses/Cons<#A2, #B2> // arrow.optics.typeclasses/Cons.Companion.invoke|invoke(arrow.optics.PPrism<0:0,0:0,kotlin.Pair<0:1,0:0>,kotlin.Pair<0:1,0:0>>){0§;1§}[0] + final fun <#A2: kotlin/Any?> list(): arrow.optics.typeclasses/Cons, #A2> // arrow.optics.typeclasses/Cons.Companion.list|list(){0§}[0] + final fun string(): arrow.optics.typeclasses/Cons // arrow.optics.typeclasses/Cons.Companion.string|string(){}[0] + } +} + +abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics.typeclasses/Snoc { // arrow.optics.typeclasses/Snoc|null[0] + open val init // arrow.optics.typeclasses/Snoc.init|@1:0{}init[0] + open fun (#A).(): #A? // arrow.optics.typeclasses/Snoc.init.|@1:0(){}[0] + + abstract fun snoc(): arrow.optics/PPrism<#A, #A, kotlin/Pair<#A, #B>, kotlin/Pair<#A, #B>> // arrow.optics.typeclasses/Snoc.snoc|snoc(){}[0] + open fun (#A).snoc(#B): #A // arrow.optics.typeclasses/Snoc.snoc|snoc@1:0(1:1){}[0] + open fun (#A).unsnoc(): kotlin/Pair<#A, #B>? // arrow.optics.typeclasses/Snoc.unsnoc|unsnoc@1:0(){}[0] + open fun initOption(): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.typeclasses/Snoc.initOption|initOption(){}[0] + open fun lastOption(): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.typeclasses/Snoc.lastOption|lastOption(){}[0] + + final object Companion { // arrow.optics.typeclasses/Snoc.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> invoke(arrow.optics/PPrism<#A2, #A2, kotlin/Pair<#A2, #B2>, kotlin/Pair<#A2, #B2>>): arrow.optics.typeclasses/Snoc<#A2, #B2> // arrow.optics.typeclasses/Snoc.Companion.invoke|invoke(arrow.optics.PPrism<0:0,0:0,kotlin.Pair<0:0,0:1>,kotlin.Pair<0:0,0:1>>){0§;1§}[0] + final fun <#A2: kotlin/Any?> list(): arrow.optics.typeclasses/Snoc, #A2> // arrow.optics.typeclasses/Snoc.Companion.list|list(){0§}[0] + final fun string(): arrow.optics.typeclasses/Snoc // arrow.optics.typeclasses/Snoc.Companion.string|string(){}[0] + } +} + +abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.optics/PIso : arrow.optics/PLens<#A, #B, #C, #D>, arrow.optics/PPrism<#A, #B, #C, #D> { // arrow.optics/PIso|null[0] + abstract fun get(#A): #C // arrow.optics/PIso.get|get(1:0){}[0] + abstract fun reverseGet(#D): #B // arrow.optics/PIso.reverseGet|reverseGet(1:3){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?> split(arrow.optics/PIso<#A1, #B1, #C1, #D1>): arrow.optics/PIso, kotlin/Pair<#B, #B1>, kotlin/Pair<#C, #C1>, kotlin/Pair<#D, #D1>> // arrow.optics/PIso.split|split(arrow.optics.PIso<0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> compose(arrow.optics/PIso): arrow.optics/PIso<#A, #B, #A1, #B1> // arrow.optics/PIso.compose|compose(arrow.optics.PIso){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> plus(arrow.optics/PIso): arrow.optics/PIso<#A, #B, #A1, #B1> // arrow.optics/PIso.plus|plus(arrow.optics.PIso){0§;1§}[0] + open fun <#A1: kotlin/Any?> first(): arrow.optics/PIso, kotlin/Pair<#B, #A1>, kotlin/Pair<#C, #A1>, kotlin/Pair<#D, #A1>> // arrow.optics/PIso.first|first(){0§}[0] + open fun <#A1: kotlin/Any?> foldMap(#A1, kotlin/Function2<#A1, #A1, #A1>, #A, kotlin/Function1<#C, #A1>): #A1 // arrow.optics/PIso.foldMap|foldMap(0:0;kotlin.Function2<0:0,0:0,0:0>;1:0;kotlin.Function1<1:2,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> left(): arrow.optics/PIso, arrow.core/Either<#B, #A1>, arrow.core/Either<#C, #A1>, arrow.core/Either<#D, #A1>> // arrow.optics/PIso.left|left(){0§}[0] + open fun <#A1: kotlin/Any?> right(): arrow.optics/PIso, arrow.core/Either<#A1, #B>, arrow.core/Either<#A1, #C>, arrow.core/Either<#A1, #D>> // arrow.optics/PIso.right|right(){0§}[0] + open fun <#A1: kotlin/Any?> second(): arrow.optics/PIso, kotlin/Pair<#A1, #B>, kotlin/Pair<#A1, #C>, kotlin/Pair<#A1, #D>> // arrow.optics/PIso.second|second(){0§}[0] + open fun getOrModify(#A): arrow.core/Either<#B, #C> // arrow.optics/PIso.getOrModify|getOrModify(1:0){}[0] + open fun modify(#A, kotlin/Function1<#C, #D>): #B // arrow.optics/PIso.modify|modify(1:0;kotlin.Function1<1:2,1:3>){}[0] + open fun reverse(): arrow.optics/PIso<#D, #C, #B, #A> // arrow.optics/PIso.reverse|reverse(){}[0] + open fun set(#A, #D): #B // arrow.optics/PIso.set|set(1:0;1:3){}[0] + open fun set(#D): #B // arrow.optics/PIso.set|set(1:3){}[0] + + final object Companion { // arrow.optics/PIso.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#D2, #B2>): arrow.optics/PIso<#A2, #B2, #C2, #D2> // arrow.optics/PIso.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:3,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> listToPOptionNel(): arrow.optics/PIso, kotlin.collections/List<#B2>, arrow.core/Option>, arrow.core/Option>> // arrow.optics/PIso.Companion.listToPOptionNel|listToPOptionNel(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> nullableToOption(): arrow.optics/PIso<#A2?, #B2?, arrow.core/Option<#A2>, arrow.core/Option<#B2>> // arrow.optics/PIso.Companion.nullableToOption|nullableToOption(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> nullableToPOption(): arrow.optics/PIso<#A2?, #B2?, arrow.core/Option<#A2>, arrow.core/Option<#B2>> // arrow.optics/PIso.Companion.nullableToPOption|nullableToPOption(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> optionToPEither(): arrow.optics/PIso, arrow.core/Option<#B2>, arrow.core/Either, arrow.core/Either> // arrow.optics/PIso.Companion.optionToPEither|optionToPEither(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> optionToPNullable(): arrow.optics/PIso, arrow.core/Option<#B2>, #A2?, #B2?> // arrow.optics/PIso.Companion.optionToPNullable|optionToPNullable(){0§;1§}[0] + final fun <#A2: kotlin/Any?> id(): arrow.optics/PIso<#A2, #A2, #A2, #A2> // arrow.optics/PIso.Companion.id|id(){0§}[0] + final fun <#A2: kotlin/Any?> listToOptionNel(): arrow.optics/PIso, kotlin.collections/List<#A2>, arrow.core/Option>, arrow.core/Option>> // arrow.optics/PIso.Companion.listToOptionNel|listToOptionNel(){0§}[0] + final fun <#A2: kotlin/Any?> mapToSet(): arrow.optics/PIso, kotlin.collections/Map<#A2, kotlin/Unit>, kotlin.collections/Set<#A2>, kotlin.collections/Set<#A2>> // arrow.optics/PIso.Companion.mapToSet|mapToSet(){0§}[0] + final fun <#A2: kotlin/Any?> optionToEither(): arrow.optics/PIso, arrow.core/Option<#A2>, arrow.core/Either, arrow.core/Either> // arrow.optics/PIso.Companion.optionToEither|optionToEither(){0§}[0] + final fun <#A2: kotlin/Any?> optionToNullable(): arrow.optics/PIso, arrow.core/Option<#A2>, #A2?, #A2?> // arrow.optics/PIso.Companion.optionToNullable|optionToNullable(){0§}[0] + final fun stringToList(): arrow.optics/PIso, kotlin.collections/List> // arrow.optics/PIso.Companion.stringToList|stringToList(){}[0] + } +} + +abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.optics/PLens : arrow.optics/POptional<#A, #B, #C, #D> { // arrow.optics/PLens|null[0] + abstract fun get(#A): #C // arrow.optics/PLens.get|get(1:0){}[0] + abstract fun set(#A, #D): #B // arrow.optics/PLens.set|set(1:0;1:3){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?> split(arrow.optics/PLens<#A1, #B1, #C1, #D1>): arrow.optics/PLens, kotlin/Pair<#B, #B1>, kotlin/Pair<#C, #C1>, kotlin/Pair<#D, #D1>> // arrow.optics/PLens.split|split(arrow.optics.PLens<0:0,0:1,0:2,0:3>){0§;1§;2§;3§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> choice(arrow.optics/PLens<#A1, #B1, #C, #D>): arrow.optics/PLens, arrow.core/Either<#B, #B1>, #C, #D> // arrow.optics/PLens.choice|choice(arrow.optics.PLens<0:0,0:1,1:2,1:3>){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> compose(arrow.optics/PLens): arrow.optics/PLens<#A, #B, #A1, #B1> // arrow.optics/PLens.compose|compose(arrow.optics.PLens){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> plus(arrow.optics/PLens): arrow.optics/PLens<#A, #B, #A1, #B1> // arrow.optics/PLens.plus|plus(arrow.optics.PLens){0§;1§}[0] + open fun <#A1: kotlin/Any?> first(): arrow.optics/PLens, kotlin/Pair<#B, #A1>, kotlin/Pair<#C, #A1>, kotlin/Pair<#D, #A1>> // arrow.optics/PLens.first|first(){0§}[0] + open fun <#A1: kotlin/Any?> foldMap(#A1, kotlin/Function2<#A1, #A1, #A1>, #A, kotlin/Function1<#C, #A1>): #A1 // arrow.optics/PLens.foldMap|foldMap(0:0;kotlin.Function2<0:0,0:0,0:0>;1:0;kotlin.Function1<1:2,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> second(): arrow.optics/PLens, kotlin/Pair<#A1, #B>, kotlin/Pair<#A1, #C>, kotlin/Pair<#A1, #D>> // arrow.optics/PLens.second|second(){0§}[0] + open fun getOrModify(#A): arrow.core/Either<#B, #C> // arrow.optics/PLens.getOrModify|getOrModify(1:0){}[0] + + final object Companion { // arrow.optics/PLens.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function2<#A2, #D2, #B2>): arrow.optics/PLens<#A2, #B2, #C2, #D2> // arrow.optics/PLens.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function2<0:0,0:3,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> triplePFirst(): arrow.optics/PLens, kotlin/Triple<#D2, #B2, #C2>, #A2, #D2> // arrow.optics/PLens.Companion.triplePFirst|triplePFirst(){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> triplePSecond(): arrow.optics/PLens, kotlin/Triple<#A2, #D2, #C2>, #B2, #D2> // arrow.optics/PLens.Companion.triplePSecond|triplePSecond(){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> triplePThird(): arrow.optics/PLens, kotlin/Triple<#A2, #B2, #D2>, #C2, #D2> // arrow.optics/PLens.Companion.triplePThird|triplePThird(){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> pairPFirst(): arrow.optics/PLens, kotlin/Pair<#C2, #B2>, #A2, #C2> // arrow.optics/PLens.Companion.pairPFirst|pairPFirst(){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> pairPSecond(): arrow.optics/PLens, kotlin/Pair<#A2, #C2>, #B2, #C2> // arrow.optics/PLens.Companion.pairPSecond|pairPSecond(){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> tripleFirst(): arrow.optics/PLens, kotlin/Triple<#A2, #B2, #C2>, #A2, #A2> // arrow.optics/PLens.Companion.tripleFirst|tripleFirst(){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> tripleSecond(): arrow.optics/PLens, kotlin/Triple<#A2, #B2, #C2>, #B2, #B2> // arrow.optics/PLens.Companion.tripleSecond|tripleSecond(){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> tripleThird(): arrow.optics/PLens, kotlin/Triple<#A2, #B2, #C2>, #C2, #C2> // arrow.optics/PLens.Companion.tripleThird|tripleThird(){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pairFirst(): arrow.optics/PLens, kotlin/Pair<#A2, #B2>, #A2, #A2> // arrow.optics/PLens.Companion.pairFirst|pairFirst(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pairSecond(): arrow.optics/PLens, kotlin/Pair<#A2, #B2>, #B2, #B2> // arrow.optics/PLens.Companion.pairSecond|pairSecond(){0§;1§}[0] + final fun <#A2: kotlin/Any?> codiagonal(): arrow.optics/PLens, arrow.core/Either<#A2, #A2>, #A2, #A2> // arrow.optics/PLens.Companion.codiagonal|codiagonal(){0§}[0] + final fun <#A2: kotlin/Any?> id(): arrow.optics/PIso<#A2, #A2, #A2, #A2> // arrow.optics/PLens.Companion.id|id(){0§}[0] + final fun <#A2: kotlin/Any?> nonEmptyListHead(): arrow.optics/PLens, arrow.core/NonEmptyList<#A2>, #A2, #A2> // arrow.optics/PLens.Companion.nonEmptyListHead|nonEmptyListHead(){0§}[0] + final fun <#A2: kotlin/Any?> nonEmptyListTail(): arrow.optics/PLens, arrow.core/NonEmptyList<#A2>, kotlin.collections/List<#A2>, kotlin.collections/List<#A2>> // arrow.optics/PLens.Companion.nonEmptyListTail|nonEmptyListTail(){0§}[0] + final fun stringToList(): arrow.optics/PLens, kotlin.collections/List> // arrow.optics/PLens.Companion.stringToList|stringToList(){}[0] + } +} + +abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.optics/POptional : arrow.optics/PTraversal<#A, #B, #C, #D> { // arrow.optics/POptional|null[0] + abstract fun getOrModify(#A): arrow.core/Either<#B, #C> // arrow.optics/POptional.getOrModify|getOrModify(1:0){}[0] + abstract fun set(#A, #D): #B // arrow.optics/POptional.set|set(1:0;1:3){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> choice(arrow.optics/POptional<#A1, #B1, #C, #D>): arrow.optics/POptional, arrow.core/Either<#B, #B1>, #C, #D> // arrow.optics/POptional.choice|choice(arrow.optics.POptional<0:0,0:1,1:2,1:3>){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> compose(arrow.optics/POptional): arrow.optics/POptional<#A, #B, #A1, #B1> // arrow.optics/POptional.compose|compose(arrow.optics.POptional){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> plus(arrow.optics/POptional): arrow.optics/POptional<#A, #B, #A1, #B1> // arrow.optics/POptional.plus|plus(arrow.optics.POptional){0§;1§}[0] + open fun <#A1: kotlin/Any?> first(): arrow.optics/POptional, kotlin/Pair<#B, #A1>, kotlin/Pair<#C, #A1>, kotlin/Pair<#D, #A1>> // arrow.optics/POptional.first|first(){0§}[0] + open fun <#A1: kotlin/Any?> foldMap(#A1, kotlin/Function2<#A1, #A1, #A1>, #A, kotlin/Function1<#C, #A1>): #A1 // arrow.optics/POptional.foldMap|foldMap(0:0;kotlin.Function2<0:0,0:0,0:0>;1:0;kotlin.Function1<1:2,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> second(): arrow.optics/POptional, kotlin/Pair<#A1, #B>, kotlin/Pair<#A1, #C>, kotlin/Pair<#A1, #D>> // arrow.optics/POptional.second|second(){0§}[0] + open fun getOrNull(#A): #C? // arrow.optics/POptional.getOrNull|getOrNull(1:0){}[0] + open fun modify(#A, kotlin/Function1<#C, #D>): #B // arrow.optics/POptional.modify|modify(1:0;kotlin.Function1<1:2,1:3>){}[0] + open fun modifyNullable(#A, kotlin/Function1<#C, #D>): #B? // arrow.optics/POptional.modifyNullable|modifyNullable(1:0;kotlin.Function1<1:2,1:3>){}[0] + open fun setNullable(#A, #D): #B? // arrow.optics/POptional.setNullable|setNullable(1:0;1:3){}[0] + + final object Companion { // arrow.optics/POptional.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, arrow.core/Either<#B2, #C2>>, kotlin/Function2<#A2, #D2, #B2>): arrow.optics/POptional<#A2, #B2, #C2, #D2> // arrow.optics/POptional.Companion.invoke|invoke(kotlin.Function1<0:0,arrow.core.Either<0:1,0:2>>;kotlin.Function2<0:0,0:3,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> void(): arrow.optics/POptional<#A2, #A2, #B2, #B2> // arrow.optics/POptional.Companion.void|void(){0§;1§}[0] + final fun <#A2: kotlin/Any?> codiagonal(): arrow.optics/POptional, arrow.core/Either<#A2, #A2>, #A2, #A2> // arrow.optics/POptional.Companion.codiagonal|codiagonal(){0§}[0] + final fun <#A2: kotlin/Any?> id(): arrow.optics/PIso<#A2, #A2, #A2, #A2> // arrow.optics/POptional.Companion.id|id(){0§}[0] + final fun <#A2: kotlin/Any?> listHead(): arrow.optics/POptional, kotlin.collections/List<#A2>, #A2, #A2> // arrow.optics/POptional.Companion.listHead|listHead(){0§}[0] + final fun <#A2: kotlin/Any?> listTail(): arrow.optics/POptional, kotlin.collections/List<#A2>, kotlin.collections/List<#A2>, kotlin.collections/List<#A2>> // arrow.optics/POptional.Companion.listTail|listTail(){0§}[0] + final fun <#A2: kotlin/Any?> notNull(): arrow.optics/POptional<#A2?, #A2?, #A2, #A2> // arrow.optics/POptional.Companion.notNull|notNull(){0§}[0] + final fun <#A2: kotlin/Any?> nullable(): arrow.optics/POptional<#A2?, #A2?, #A2, #A2> // arrow.optics/POptional.Companion.nullable|nullable(){0§}[0] + } +} + +abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.optics/PPrism : arrow.optics/POptional<#A, #B, #C, #D> { // arrow.optics/PPrism|null[0] + abstract fun getOrModify(#A): arrow.core/Either<#B, #C> // arrow.optics/PPrism.getOrModify|getOrModify(1:0){}[0] + abstract fun reverseGet(#D): #B // arrow.optics/PPrism.reverseGet|reverseGet(1:3){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> compose(arrow.optics/PPrism): arrow.optics/PPrism<#A, #B, #A1, #B1> // arrow.optics/PPrism.compose|compose(arrow.optics.PPrism){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> plus(arrow.optics/PPrism): arrow.optics/PPrism<#A, #B, #A1, #B1> // arrow.optics/PPrism.plus|plus(arrow.optics.PPrism){0§;1§}[0] + open fun <#A1: kotlin/Any?> first(): arrow.optics/PPrism, kotlin/Pair<#B, #A1>, kotlin/Pair<#C, #A1>, kotlin/Pair<#D, #A1>> // arrow.optics/PPrism.first|first(){0§}[0] + open fun <#A1: kotlin/Any?> foldMap(#A1, kotlin/Function2<#A1, #A1, #A1>, #A, kotlin/Function1<#C, #A1>): #A1 // arrow.optics/PPrism.foldMap|foldMap(0:0;kotlin.Function2<0:0,0:0,0:0>;1:0;kotlin.Function1<1:2,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> left(): arrow.optics/PPrism, arrow.core/Either<#B, #A1>, arrow.core/Either<#C, #A1>, arrow.core/Either<#D, #A1>> // arrow.optics/PPrism.left|left(){0§}[0] + open fun <#A1: kotlin/Any?> right(): arrow.optics/PPrism, arrow.core/Either<#A1, #B>, arrow.core/Either<#A1, #C>, arrow.core/Either<#A1, #D>> // arrow.optics/PPrism.right|right(){0§}[0] + open fun <#A1: kotlin/Any?> second(): arrow.optics/PPrism, kotlin/Pair<#A1, #B>, kotlin/Pair<#A1, #C>, kotlin/Pair<#A1, #D>> // arrow.optics/PPrism.second|second(){0§}[0] + open fun liftNullable(kotlin/Function1<#C, #D>): kotlin/Function1<#A, #B?> // arrow.optics/PPrism.liftNullable|liftNullable(kotlin.Function1<1:2,1:3>){}[0] + open fun modify(#A, kotlin/Function1<#C, #D>): #B // arrow.optics/PPrism.modify|modify(1:0;kotlin.Function1<1:2,1:3>){}[0] + open fun set(#A, #D): #B // arrow.optics/PPrism.set|set(1:0;1:3){}[0] + + final object Companion { // arrow.optics/PPrism.Companion|null[0] + final fun <#A2: kotlin/Any, #B2: #A2> instanceOf(kotlin.reflect/KClass<#B2>): arrow.optics/PPrism<#A2, #A2, #B2, #B2> // arrow.optics/PPrism.Companion.instanceOf|instanceOf(kotlin.reflect.KClass<0:1>){0§;1§<0:0>}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, arrow.core/Either<#B2, #C2>>, kotlin/Function1<#D2, #B2>): arrow.optics/PPrism<#A2, #B2, #C2, #D2> // arrow.optics/PPrism.Companion.invoke|invoke(kotlin.Function1<0:0,arrow.core.Either<0:1,0:2>>;kotlin.Function1<0:3,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> pLeft(): arrow.optics/PPrism, arrow.core/Either<#C2, #B2>, #A2, #C2> // arrow.optics/PPrism.Companion.pLeft|pLeft(){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?> pRight(): arrow.optics/PPrism, arrow.core/Either<#A2, #C2>, #B2, #C2> // arrow.optics/PPrism.Companion.pRight|pRight(){0§;1§;2§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> left(): arrow.optics/PPrism, arrow.core/Either<#A2, #B2>, #A2, #A2> // arrow.optics/PPrism.Companion.left|left(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pSome(): arrow.optics/PPrism, arrow.core/Option<#B2>, #A2, #B2> // arrow.optics/PPrism.Companion.pSome|pSome(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> right(): arrow.optics/PPrism, arrow.core/Either<#A2, #B2>, #B2, #B2> // arrow.optics/PPrism.Companion.right|right(){0§;1§}[0] + final fun <#A2: kotlin/Any?> id(): arrow.optics/PIso<#A2, #A2, #A2, #A2> // arrow.optics/PPrism.Companion.id|id(){0§}[0] + final fun <#A2: kotlin/Any?> none(): arrow.optics/PPrism, arrow.core/Option<#A2>, kotlin/Unit, kotlin/Unit> // arrow.optics/PPrism.Companion.none|none(){0§}[0] + final fun <#A2: kotlin/Any?> only(#A2, kotlin/Function2<#A2, #A2, kotlin/Boolean> = ...): arrow.optics/PPrism<#A2, #A2, kotlin/Unit, kotlin/Unit> // arrow.optics/PPrism.Companion.only|only(0:0;kotlin.Function2<0:0,0:0,kotlin.Boolean>){0§}[0] + final fun <#A2: kotlin/Any?> some(): arrow.optics/PPrism, arrow.core/Option<#A2>, #A2, #A2> // arrow.optics/PPrism.Companion.some|some(){0§}[0] + final inline fun <#A2: kotlin/Any?, #B2: reified #A2> instanceOf(): arrow.optics/PPrism<#A2, #A2, #B2, #B2> // arrow.optics/PPrism.Companion.instanceOf|instanceOf(){0§;1§<0:0>}[0] + } +} + +abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> arrow.optics/PTraversal { // arrow.optics/PTraversal|null[0] + abstract fun <#A1: kotlin/Any?> foldMap(#A1, kotlin/Function2<#A1, #A1, #A1>, #A, kotlin/Function1<#C, #A1>): #A1 // arrow.optics/PTraversal.foldMap|foldMap(0:0;kotlin.Function2<0:0,0:0,0:0>;1:0;kotlin.Function1<1:2,0:0>){0§}[0] + abstract fun modify(#A, kotlin/Function1<#C, #D>): #B // arrow.optics/PTraversal.modify|modify(1:0;kotlin.Function1<1:2,1:3>){}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> choice(arrow.optics/PTraversal<#A1, #B1, #C, #D>): arrow.optics/PTraversal, arrow.core/Either<#B, #B1>, #C, #D> // arrow.optics/PTraversal.choice|choice(arrow.optics.PTraversal<0:0,0:1,1:2,1:3>){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> compose(arrow.optics/PTraversal): arrow.optics/PTraversal<#A, #B, #A1, #B1> // arrow.optics/PTraversal.compose|compose(arrow.optics.PTraversal){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> composeLazy(kotlin/Function0>): arrow.optics/PTraversal<#A, #B, #A1, #B1> // arrow.optics/PTraversal.composeLazy|composeLazy(kotlin.Function0>){0§;1§}[0] + open fun <#A1: kotlin/Any?, #B1: kotlin/Any?> plus(arrow.optics/PTraversal): arrow.optics/PTraversal<#A, #B, #A1, #B1> // arrow.optics/PTraversal.plus|plus(arrow.optics.PTraversal){0§;1§}[0] + open fun all(#A, kotlin/Function1<#C, kotlin/Boolean>): kotlin/Boolean // arrow.optics/PTraversal.all|all(1:0;kotlin.Function1<1:2,kotlin.Boolean>){}[0] + open fun any(#A, kotlin/Function1<#C, kotlin/Boolean>): kotlin/Boolean // arrow.optics/PTraversal.any|any(1:0;kotlin.Function1<1:2,kotlin.Boolean>){}[0] + open fun exists(#A, kotlin/Function1<#C, kotlin/Boolean>): kotlin/Boolean // arrow.optics/PTraversal.exists|exists(1:0;kotlin.Function1<1:2,kotlin.Boolean>){}[0] + open fun findOrNull(#A, kotlin/Function1<#C, kotlin/Boolean>): #C? // arrow.optics/PTraversal.findOrNull|findOrNull(1:0;kotlin.Function1<1:2,kotlin.Boolean>){}[0] + open fun firstOrNull(#A): #C? // arrow.optics/PTraversal.firstOrNull|firstOrNull(1:0){}[0] + open fun fold(#C, kotlin/Function2<#C, #C, #C>, #A): #C // arrow.optics/PTraversal.fold|fold(1:2;kotlin.Function2<1:2,1:2,1:2>;1:0){}[0] + open fun getAll(#A): kotlin.collections/List<#C> // arrow.optics/PTraversal.getAll|getAll(1:0){}[0] + open fun isEmpty(#A): kotlin/Boolean // arrow.optics/PTraversal.isEmpty|isEmpty(1:0){}[0] + open fun isNotEmpty(#A): kotlin/Boolean // arrow.optics/PTraversal.isNotEmpty|isNotEmpty(1:0){}[0] + open fun lastOrNull(#A): #C? // arrow.optics/PTraversal.lastOrNull|lastOrNull(1:0){}[0] + open fun lift(kotlin/Function1<#C, #D>): kotlin/Function1<#A, #B> // arrow.optics/PTraversal.lift|lift(kotlin.Function1<1:2,1:3>){}[0] + open fun set(#A, #D): #B // arrow.optics/PTraversal.set|set(1:0;1:3){}[0] + open fun size(#A): kotlin/Int // arrow.optics/PTraversal.size|size(1:0){}[0] + + final object Companion { // arrow.optics/PTraversal.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function10<#D2, #D2, #D2, #D2, #D2, #D2, #D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function10<0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function11<#D2, #D2, #D2, #D2, #D2, #D2, #D2, #D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function11<0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function9<#D2, #D2, #D2, #D2, #D2, #D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function9<0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function8<#D2, #D2, #D2, #D2, #D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function8<0:3,0:3,0:3,0:3,0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function7<#D2, #D2, #D2, #D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function7<0:3,0:3,0:3,0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function6<#D2, #D2, #D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function6<0:3,0:3,0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function5<#D2, #D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function5<0:3,0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function4<#D2, #D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function4<0:3,0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?, #C2: kotlin/Any?, #D2: kotlin/Any?> invoke(kotlin/Function1<#A2, #C2>, kotlin/Function1<#A2, #C2>, kotlin/Function3<#D2, #D2, #A2, #B2>): arrow.optics/PTraversal<#A2, #B2, #C2, #D2> // arrow.optics/PTraversal.Companion.invoke|invoke(kotlin.Function1<0:0,0:2>;kotlin.Function1<0:0,0:2>;kotlin.Function3<0:3,0:3,0:0,0:1>){0§;1§;2§;3§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> either(): arrow.optics/PTraversal, arrow.core/Either<#A2, #B2>, #B2, #B2> // arrow.optics/PTraversal.Companion.either|either(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> map(): arrow.optics/PTraversal, kotlin.collections/Map<#A2, #B2>, #B2, #B2> // arrow.optics/PTraversal.Companion.map|map(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pPair(): arrow.optics/PTraversal, kotlin/Pair<#B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pPair|pPair(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pTriple(): arrow.optics/PTraversal, kotlin/Triple<#B2, #B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pTriple|pTriple(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pTuple4(): arrow.optics/PTraversal, arrow.core/Tuple4<#B2, #B2, #B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pTuple4|pTuple4(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pTuple5(): arrow.optics/PTraversal, arrow.core/Tuple5<#B2, #B2, #B2, #B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pTuple5|pTuple5(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pTuple6(): arrow.optics/PTraversal, arrow.core/Tuple6<#B2, #B2, #B2, #B2, #B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pTuple6|pTuple6(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pTuple7(): arrow.optics/PTraversal, arrow.core/Tuple7<#B2, #B2, #B2, #B2, #B2, #B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pTuple7|pTuple7(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pTuple8(): arrow.optics/PTraversal, arrow.core/Tuple8<#B2, #B2, #B2, #B2, #B2, #B2, #B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pTuple8|pTuple8(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> pTuple9(): arrow.optics/PTraversal, arrow.core/Tuple9<#B2, #B2, #B2, #B2, #B2, #B2, #B2, #B2, #B2>, #A2, #B2> // arrow.optics/PTraversal.Companion.pTuple9|pTuple9(){0§;1§}[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> void(): arrow.optics/PTraversal<#A2, #A2, #B2, #B2> // arrow.optics/PTraversal.Companion.void|void(){0§;1§}[0] + final fun <#A2: kotlin/Any?> codiagonal(): arrow.optics/PTraversal, arrow.core/Either<#A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.codiagonal|codiagonal(){0§}[0] + final fun <#A2: kotlin/Any?> id(): arrow.optics/PIso<#A2, #A2, #A2, #A2> // arrow.optics/PTraversal.Companion.id|id(){0§}[0] + final fun <#A2: kotlin/Any?> list(): arrow.optics/PTraversal, kotlin.collections/List<#A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.list|list(){0§}[0] + final fun <#A2: kotlin/Any?> nonEmptyList(): arrow.optics/PTraversal, arrow.core/NonEmptyList<#A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.nonEmptyList|nonEmptyList(){0§}[0] + final fun <#A2: kotlin/Any?> option(): arrow.optics/PTraversal, arrow.core/Option<#A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.option|option(){0§}[0] + final fun <#A2: kotlin/Any?> pair(): arrow.optics/PTraversal, kotlin/Pair<#A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.pair|pair(){0§}[0] + final fun <#A2: kotlin/Any?> sequence(): arrow.optics/PTraversal, kotlin.sequences/Sequence<#A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.sequence|sequence(){0§}[0] + final fun <#A2: kotlin/Any?> triple(): arrow.optics/PTraversal, kotlin/Triple<#A2, #A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.triple|triple(){0§}[0] + final fun <#A2: kotlin/Any?> tuple4(): arrow.optics/PTraversal, arrow.core/Tuple4<#A2, #A2, #A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.tuple4|tuple4(){0§}[0] + final fun <#A2: kotlin/Any?> tuple5(): arrow.optics/PTraversal, arrow.core/Tuple5<#A2, #A2, #A2, #A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.tuple5|tuple5(){0§}[0] + final fun <#A2: kotlin/Any?> tuple6(): arrow.optics/PTraversal, arrow.core/Tuple6<#A2, #A2, #A2, #A2, #A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.tuple6|tuple6(){0§}[0] + final fun <#A2: kotlin/Any?> tuple7(): arrow.optics/PTraversal, arrow.core/Tuple7<#A2, #A2, #A2, #A2, #A2, #A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.tuple7|tuple7(){0§}[0] + final fun <#A2: kotlin/Any?> tuple8(): arrow.optics/PTraversal, arrow.core/Tuple8<#A2, #A2, #A2, #A2, #A2, #A2, #A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.tuple8|tuple8(){0§}[0] + final fun <#A2: kotlin/Any?> tuple9(): arrow.optics/PTraversal, arrow.core/Tuple9<#A2, #A2, #A2, #A2, #A2, #A2, #A2, #A2, #A2>, #A2, #A2> // arrow.optics/PTraversal.Companion.tuple9|tuple9(){0§}[0] + final fun string(): arrow.optics/PTraversal // arrow.optics/PTraversal.Companion.string|string(){}[0] + } +} + +abstract interface <#A: kotlin/Any?> arrow.optics/Copy { // arrow.optics/Copy|null[0] + abstract fun <#A1: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #A1, #A1>).set(#A1) // arrow.optics/Copy.set|set@arrow.optics.PTraversal<1:0,1:0,0:0,0:0>(0:0){0§}[0] + abstract fun <#A1: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #A1, #A1>).transform(kotlin/Function1<#A1, #A1>) // arrow.optics/Copy.transform|transform@arrow.optics.PTraversal<1:0,1:0,0:0,0:0>(kotlin.Function1<0:0,0:0>){0§}[0] + open fun <#A1: kotlin/Any?> inside(arrow.optics/PTraversal<#A, #A, #A1, #A1>, kotlin/Function1, kotlin/Unit>) // arrow.optics/Copy.inside|inside(arrow.optics.PTraversal<1:0,1:0,0:0,0:0>;kotlin.Function1,kotlin.Unit>){0§}[0] +} + +final object arrow.optics/Every { // arrow.optics/Every|null[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> either(): arrow.optics/PTraversal, arrow.core/Either<#A1, #B1>, #B1, #B1> // arrow.optics/Every.either|either(){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> map(): arrow.optics/PTraversal, kotlin.collections/Map<#A1, #B1>, #B1, #B1> // arrow.optics/Every.map|map(){0§;1§}[0] + final fun <#A1: kotlin/Any?> list(): arrow.optics/PTraversal, kotlin.collections/List<#A1>, #A1, #A1> // arrow.optics/Every.list|list(){0§}[0] + final fun <#A1: kotlin/Any?> nonEmptyList(): arrow.optics/PTraversal, arrow.core/NonEmptyList<#A1>, #A1, #A1> // arrow.optics/Every.nonEmptyList|nonEmptyList(){0§}[0] + final fun <#A1: kotlin/Any?> option(): arrow.optics/PTraversal, arrow.core/Option<#A1>, #A1, #A1> // arrow.optics/Every.option|option(){0§}[0] + final fun <#A1: kotlin/Any?> pair(): arrow.optics/PTraversal, kotlin/Pair<#A1, #A1>, #A1, #A1> // arrow.optics/Every.pair|pair(){0§}[0] + final fun <#A1: kotlin/Any?> sequence(): arrow.optics/PTraversal, kotlin.sequences/Sequence<#A1>, #A1, #A1> // arrow.optics/Every.sequence|sequence(){0§}[0] + final fun <#A1: kotlin/Any?> triple(): arrow.optics/PTraversal, kotlin/Triple<#A1, #A1, #A1>, #A1, #A1> // arrow.optics/Every.triple|triple(){0§}[0] + final fun <#A1: kotlin/Any?> tuple4(): arrow.optics/PTraversal, arrow.core/Tuple4<#A1, #A1, #A1, #A1>, #A1, #A1> // arrow.optics/Every.tuple4|tuple4(){0§}[0] + final fun <#A1: kotlin/Any?> tuple5(): arrow.optics/PTraversal, arrow.core/Tuple5<#A1, #A1, #A1, #A1, #A1>, #A1, #A1> // arrow.optics/Every.tuple5|tuple5(){0§}[0] + final fun <#A1: kotlin/Any?> tuple6(): arrow.optics/PTraversal, arrow.core/Tuple6<#A1, #A1, #A1, #A1, #A1, #A1>, #A1, #A1> // arrow.optics/Every.tuple6|tuple6(){0§}[0] + final fun <#A1: kotlin/Any?> tuple7(): arrow.optics/PTraversal, arrow.core/Tuple7<#A1, #A1, #A1, #A1, #A1, #A1, #A1>, #A1, #A1> // arrow.optics/Every.tuple7|tuple7(){0§}[0] + final fun <#A1: kotlin/Any?> tuple8(): arrow.optics/PTraversal, arrow.core/Tuple8<#A1, #A1, #A1, #A1, #A1, #A1, #A1, #A1>, #A1, #A1> // arrow.optics/Every.tuple8|tuple8(){0§}[0] + final fun <#A1: kotlin/Any?> tuple9(): arrow.optics/PTraversal, arrow.core/Tuple9<#A1, #A1, #A1, #A1, #A1, #A1, #A1, #A1, #A1>, #A1, #A1> // arrow.optics/Every.tuple9|tuple9(){0§}[0] + final fun string(): arrow.optics/PTraversal // arrow.optics/Every.string|string(){}[0] +} + +final val arrow.optics.dsl/every // arrow.optics.dsl/every|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>{0§;1§;2§}every[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, arrow.core/Either<#B1, #C1>, arrow.core/Either<#B1, #C1>>).(): arrow.optics/PTraversal<#A1, #A1, #C1, #C1> // arrow.optics.dsl/every.|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/every // arrow.optics.dsl/every|@arrow.optics.PTraversal<0:0,0:0,arrow.core.NonEmptyList<0:1>,arrow.core.NonEmptyList<0:1>>{0§;1§}every[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, arrow.core/NonEmptyList<#B1>, arrow.core/NonEmptyList<#B1>>).(): arrow.optics/PTraversal<#A1, #A1, #B1, #B1> // arrow.optics.dsl/every.|@arrow.optics.PTraversal<0:0,0:0,arrow.core.NonEmptyList<0:1>,arrow.core.NonEmptyList<0:1>>(){0§;1§}[0] +final val arrow.optics.dsl/every // arrow.optics.dsl/every|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Option<0:1>,arrow.core.Option<0:1>>{0§;1§}every[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, arrow.core/Option<#B1>, arrow.core/Option<#B1>>).(): arrow.optics/PTraversal<#A1, #A1, #B1, #B1> // arrow.optics.dsl/every.|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Option<0:1>,arrow.core.Option<0:1>>(){0§;1§}[0] +final val arrow.optics.dsl/every // arrow.optics.dsl/every|@arrow.optics.PTraversal<0:0,0:0,kotlin.String,kotlin.String>{0§}every[0] + final fun <#A1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, kotlin/String, kotlin/String>).(): arrow.optics/PTraversal<#A1, #A1, kotlin/Char, kotlin/Char> // arrow.optics.dsl/every.|@arrow.optics.PTraversal<0:0,0:0,kotlin.String,kotlin.String>(){0§}[0] +final val arrow.optics.dsl/every // arrow.optics.dsl/every|@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.List<0:1>,kotlin.collections.List<0:1>>{0§;1§}every[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, kotlin.collections/List<#B1>, kotlin.collections/List<#B1>>).(): arrow.optics/PTraversal<#A1, #A1, #B1, #B1> // arrow.optics.dsl/every.|@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.List<0:1>,kotlin.collections.List<0:1>>(){0§;1§}[0] +final val arrow.optics.dsl/every // arrow.optics.dsl/every|@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>{0§;1§;2§}every[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, kotlin.collections/Map<#B1, #C1>, kotlin.collections/Map<#B1, #C1>>).(): arrow.optics/PTraversal<#A1, #A1, #C1, #C1> // arrow.optics.dsl/every.|@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/every // arrow.optics.dsl/every|@arrow.optics.PTraversal<0:0,0:0,kotlin.sequences.Sequence<0:1>,kotlin.sequences.Sequence<0:1>>{0§;1§}every[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, kotlin.sequences/Sequence<#B1>, kotlin.sequences/Sequence<#B1>>).(): arrow.optics/PTraversal<#A1, #A1, #B1, #B1> // arrow.optics.dsl/every.|@arrow.optics.PTraversal<0:0,0:0,kotlin.sequences.Sequence<0:1>,kotlin.sequences.Sequence<0:1>>(){0§;1§}[0] +final val arrow.optics.dsl/left // arrow.optics.dsl/left|@arrow.optics.POptional<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>{0§;1§;2§}left[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/POptional<#A1, #A1, arrow.core/Either<#B1, #C1>, arrow.core/Either<#B1, #C1>>).(): arrow.optics/POptional<#A1, #A1, #B1, #B1> // arrow.optics.dsl/left.|@arrow.optics.POptional<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/left // arrow.optics.dsl/left|@arrow.optics.PPrism<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>{0§;1§;2§}left[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/PPrism<#A1, #A1, arrow.core/Either<#B1, #C1>, arrow.core/Either<#B1, #C1>>).(): arrow.optics/PPrism<#A1, #A1, #B1, #B1> // arrow.optics.dsl/left.|@arrow.optics.PPrism<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/left // arrow.optics.dsl/left|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>{0§;1§;2§}left[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, arrow.core/Either<#B1, #C1>, arrow.core/Either<#B1, #C1>>).(): arrow.optics/PTraversal<#A1, #A1, #B1, #B1> // arrow.optics.dsl/left.|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/notNull // arrow.optics.dsl/notNull|@arrow.optics.POptional<0:0,0:0,0:1?,0:1?>{0§;1§}notNull[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/POptional<#A1, #A1, #B1?, #B1?>).(): arrow.optics/POptional<#A1, #A1, #B1, #B1> // arrow.optics.dsl/notNull.|@arrow.optics.POptional<0:0,0:0,0:1?,0:1?>(){0§;1§}[0] +final val arrow.optics.dsl/notNull // arrow.optics.dsl/notNull|@arrow.optics.PTraversal<0:0,0:0,0:1?,0:1?>{0§;1§}notNull[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, #B1?, #B1?>).(): arrow.optics/PTraversal<#A1, #A1, #B1, #B1> // arrow.optics.dsl/notNull.|@arrow.optics.PTraversal<0:0,0:0,0:1?,0:1?>(){0§;1§}[0] +final val arrow.optics.dsl/right // arrow.optics.dsl/right|@arrow.optics.POptional<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>{0§;1§;2§}right[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/POptional<#A1, #A1, arrow.core/Either<#B1, #C1>, arrow.core/Either<#B1, #C1>>).(): arrow.optics/POptional<#A1, #A1, #C1, #C1> // arrow.optics.dsl/right.|@arrow.optics.POptional<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/right // arrow.optics.dsl/right|@arrow.optics.PPrism<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>{0§;1§;2§}right[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/PPrism<#A1, #A1, arrow.core/Either<#B1, #C1>, arrow.core/Either<#B1, #C1>>).(): arrow.optics/PPrism<#A1, #A1, #C1, #C1> // arrow.optics.dsl/right.|@arrow.optics.PPrism<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/right // arrow.optics.dsl/right|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>{0§;1§;2§}right[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?, #C1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, arrow.core/Either<#B1, #C1>, arrow.core/Either<#B1, #C1>>).(): arrow.optics/PTraversal<#A1, #A1, #C1, #C1> // arrow.optics.dsl/right.|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Either<0:1,0:2>,arrow.core.Either<0:1,0:2>>(){0§;1§;2§}[0] +final val arrow.optics.dsl/some // arrow.optics.dsl/some|@arrow.optics.POptional<0:0,0:0,arrow.core.Option<0:1>,arrow.core.Option<0:1>>{0§;1§}some[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/POptional<#A1, #A1, arrow.core/Option<#B1>, arrow.core/Option<#B1>>).(): arrow.optics/POptional<#A1, #A1, #B1, #B1> // arrow.optics.dsl/some.|@arrow.optics.POptional<0:0,0:0,arrow.core.Option<0:1>,arrow.core.Option<0:1>>(){0§;1§}[0] +final val arrow.optics.dsl/some // arrow.optics.dsl/some|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Option<0:1>,arrow.core.Option<0:1>>{0§;1§}some[0] + final inline fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (arrow.optics/PTraversal<#A1, #A1, arrow.core/Option<#B1>, arrow.core/Option<#B1>>).(): arrow.optics/PTraversal<#A1, #A1, #B1, #B1> // arrow.optics.dsl/some.|@arrow.optics.PTraversal<0:0,0:0,arrow.core.Option<0:1>,arrow.core.Option<0:1>>(){0§;1§}[0] + +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.optics/PLens<#A, #B, #C?, #D?>).arrow.optics/composeNull(arrow.optics/PLens<#C, #D, #E, #F>): arrow.optics/PLens<#A, #B, #E?, #F?> // arrow.optics/composeNull|composeNull@arrow.optics.PLens<0:0,0:1,0:2?,0:3?>(arrow.optics.PLens<0:2,0:3,0:4,0:5>){0§;1§;2§;3§;4§;5§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.optics/PLens<#A, #A, #B, #B>).arrow.optics.dsl/at(arrow.optics.typeclasses/At<#B, #C, #D>, #C): arrow.optics/PLens<#A, #A, #D, #D> // arrow.optics.dsl/at|at@arrow.optics.PLens<0:0,0:0,0:1,0:1>(arrow.optics.typeclasses.At<0:1,0:2,0:3>;0:2){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.dsl/at(arrow.optics.typeclasses/At<#B, #C, #D>, #C): arrow.optics/POptional<#A, #A, #D, #D> // arrow.optics.dsl/at|at@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.typeclasses.At<0:1,0:2,0:3>;0:2){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.dsl/index(arrow.optics.typeclasses/Index<#B, #C, #D>, #C): arrow.optics/POptional<#A, #A, #D, #D> // arrow.optics.dsl/index|index@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.typeclasses.Index<0:1,0:2,0:3>;0:2){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #B>).arrow.optics.dsl/at(arrow.optics.typeclasses/At<#B, #C, #D>, #C): arrow.optics/PTraversal<#A, #A, #D, #D> // arrow.optics.dsl/at|at@arrow.optics.PTraversal<0:0,0:0,0:1,0:1>(arrow.optics.typeclasses.At<0:1,0:2,0:3>;0:2){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #B>).arrow.optics.dsl/filterIndex(arrow.optics.typeclasses/FilterIndex<#B, #C, #D>, kotlin/Function1<#C, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #D, #D> // arrow.optics.dsl/filterIndex|filterIndex@arrow.optics.PTraversal<0:0,0:0,0:1,0:1>(arrow.optics.typeclasses.FilterIndex<0:1,0:2,0:3>;kotlin.Function1<0:2,kotlin.Boolean>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #B>).arrow.optics.dsl/index(arrow.optics.typeclasses/Index<#B, #C, #D>, #C): arrow.optics/PTraversal<#A, #A, #D, #D> // arrow.optics.dsl/index|index@arrow.optics.PTraversal<0:0,0:0,0:1,0:1>(arrow.optics.typeclasses.Index<0:1,0:2,0:3>;0:2){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics.typeclasses/At<#A, #B, arrow.core/Option<#C>>).arrow.optics.typeclasses/remove(#A, #B): #A // arrow.optics.typeclasses/remove|remove@arrow.optics.typeclasses.At<0:0,0:1,arrow.core.Option<0:2>>(0:0;0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics.typeclasses/At<#A, #B, arrow.core/Option<#C>>).arrow.optics.typeclasses/remove(#B): kotlin/Function1<#A, #A> // arrow.optics.typeclasses/remove|remove@arrow.optics.typeclasses.At<0:0,0:1,arrow.core.Option<0:2>>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PLens<#A, #A, kotlin.collections/Map<#B, #C>, kotlin.collections/Map<#B, #C>>).arrow.optics.dsl/at(#B): arrow.optics/PLens<#A, #A, arrow.core/Option<#C>, arrow.core/Option<#C>> // arrow.optics.dsl/at|at@arrow.optics.PLens<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/POptional<#A, #A, kotlin.collections/Map<#B, #C>, kotlin.collections/Map<#B, #C>>).arrow.optics.dsl/at(#B): arrow.optics/POptional<#A, #A, arrow.core/Option<#C>, arrow.core/Option<#C>> // arrow.optics.dsl/at|at@arrow.optics.POptional<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/POptional<#A, #A, kotlin.collections/Map<#B, #C>, kotlin.collections/Map<#B, #C>>).arrow.optics.dsl/index(#B): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.dsl/index|index@arrow.optics.POptional<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTraversal.Companion).arrow.optics/fromLenses(arrow.optics/PLens<#A, #A, #B, #C>, kotlin/Array>...): arrow.optics/PTraversal<#A, #A, #B, #C> // arrow.optics/fromLenses|fromLenses@arrow.optics.PTraversal.Companion(arrow.optics.PLens<0:0,0:0,0:1,0:2>;kotlin.Array>...){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #B>).arrow.optics.dsl/every(arrow.optics/PTraversal<#B, #B, #C, #C>): arrow.optics/PTraversal<#A, #A, #C, #C> // arrow.optics.dsl/every|every@arrow.optics.PTraversal<0:0,0:0,0:1,0:1>(arrow.optics.PTraversal<0:1,0:1,0:2,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #C>).arrow.optics.regex/and(arrow.optics/PTraversal<#A, #A, #B, #C>): arrow.optics/PTraversal<#A, #A, #B, #C> // arrow.optics.regex/and|and@arrow.optics.PTraversal<0:0,0:0,0:1,0:2>(arrow.optics.PTraversal<0:0,0:0,0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #C>).arrow.optics.regex/times(arrow.optics/PTraversal<#A, #A, #B, #C>): arrow.optics/PTraversal<#A, #A, #B, #C> // arrow.optics.regex/times|times@arrow.optics.PTraversal<0:0,0:0,0:1,0:2>(arrow.optics.PTraversal<0:0,0:0,0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.collections/Map<#B, #C>, kotlin.collections/Map<#B, #C>>).arrow.optics.dsl/at(#B): arrow.optics/PTraversal<#A, #A, arrow.core/Option<#C>, arrow.core/Option<#C>> // arrow.optics.dsl/at|at@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.collections/Map<#B, #C>, kotlin.collections/Map<#B, #C>>).arrow.optics.dsl/filterIndex(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #C, #C> // arrow.optics.dsl/filterIndex|filterIndex@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>(kotlin.Function1<0:1,kotlin.Boolean>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.collections/Map<#B, #C>, kotlin.collections/Map<#B, #C>>).arrow.optics.dsl/index(#B): arrow.optics/PTraversal<#A, #A, #C, #C> // arrow.optics.dsl/index|index@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.Map<0:1,0:2>,kotlin.collections.Map<0:1,0:2>>(0:1){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PLens<#A, #A, kotlin.collections/Set<#B>, kotlin.collections/Set<#B>>).arrow.optics.dsl/at(#B): arrow.optics/PLens<#A, #A, kotlin/Boolean, kotlin/Boolean> // arrow.optics.dsl/at|at@arrow.optics.PLens<0:0,0:0,kotlin.collections.Set<0:1>,kotlin.collections.Set<0:1>>(0:1){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PLens<#B, #B, kotlin.collections/List<#A>, kotlin.collections/List<#A>>).arrow.optics/get(kotlin/Int): arrow.optics/POptional<#B, #B, #A, #A> // arrow.optics/get|get@arrow.optics.PLens<0:1,0:1,kotlin.collections.List<0:0>,kotlin.collections.List<0:0>>(kotlin.Int){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.dsl/filter(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@arrow.optics.POptional<0:0,0:0,0:1,0:1>(kotlin.Function1<0:1,kotlin.Boolean>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#B>>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.dsl/index|index@arrow.optics.POptional<0:0,0:0,arrow.core.NonEmptyList<0:1>,arrow.core.NonEmptyList<0:1>>(kotlin.Int){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, kotlin.collections/List<#B>, kotlin.collections/List<#B>>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.dsl/index|index@arrow.optics.POptional<0:0,0:0,kotlin.collections.List<0:1>,kotlin.collections.List<0:1>>(kotlin.Int){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, kotlin.collections/Set<#B>, kotlin.collections/Set<#B>>).arrow.optics.dsl/at(#B): arrow.optics/POptional<#A, #A, kotlin/Boolean, kotlin/Boolean> // arrow.optics.dsl/at|at@arrow.optics.POptional<0:0,0:0,kotlin.collections.Set<0:1>,kotlin.collections.Set<0:1>>(0:1){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#B>>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.dsl/index|index@arrow.optics.POptional<0:0,0:0,kotlin.sequences.Sequence<0:1>,kotlin.sequences.Sequence<0:1>>(kotlin.Int){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #B>).arrow.optics.dsl/filter(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@arrow.optics.PTraversal<0:0,0:0,0:1,0:1>(kotlin.Function1<0:1,kotlin.Boolean>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #B>).arrow.optics.regex.dsl/onceOrMore(arrow.optics/PTraversal<#B, #B, #B, #B>): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.regex.dsl/onceOrMore|onceOrMore@arrow.optics.PTraversal<0:0,0:0,0:1,0:1>(arrow.optics.PTraversal<0:1,0:1,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, #B, #B>).arrow.optics.regex.dsl/zeroOrMore(arrow.optics/PTraversal<#B, #B, #B, #B>): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.regex.dsl/zeroOrMore|zeroOrMore@arrow.optics.PTraversal<0:0,0:0,0:1,0:1>(arrow.optics.PTraversal<0:1,0:1,0:1,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#B>>).arrow.optics.dsl/filterIndex(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filterIndex|filterIndex@arrow.optics.PTraversal<0:0,0:0,arrow.core.NonEmptyList<0:1>,arrow.core.NonEmptyList<0:1>>(kotlin.Function1){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#B>>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/index|index@arrow.optics.PTraversal<0:0,0:0,arrow.core.NonEmptyList<0:1>,arrow.core.NonEmptyList<0:1>>(kotlin.Int){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.collections/List<#B>, kotlin.collections/List<#B>>).arrow.optics.dsl/filterIndex(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filterIndex|filterIndex@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.List<0:1>,kotlin.collections.List<0:1>>(kotlin.Function1){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.collections/List<#B>, kotlin.collections/List<#B>>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/index|index@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.List<0:1>,kotlin.collections.List<0:1>>(kotlin.Int){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.collections/Set<#B>, kotlin.collections/Set<#B>>).arrow.optics.dsl/at(#B): arrow.optics/PTraversal<#A, #A, kotlin/Boolean, kotlin/Boolean> // arrow.optics.dsl/at|at@arrow.optics.PTraversal<0:0,0:0,kotlin.collections.Set<0:1>,kotlin.collections.Set<0:1>>(0:1){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#B>>).arrow.optics.dsl/filterIndex(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filterIndex|filterIndex@arrow.optics.PTraversal<0:0,0:0,kotlin.sequences.Sequence<0:1>,kotlin.sequences.Sequence<0:1>>(kotlin.Function1){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin.sequences/Sequence<#B>, kotlin.sequences/Sequence<#B>>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/index|index@arrow.optics.PTraversal<0:0,0:0,kotlin.sequences.Sequence<0:1>,kotlin.sequences.Sequence<0:1>>(kotlin.Int){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics/Optional(kotlin/Function1<#A, arrow.core/Option<#B>>, kotlin/Function2<#A, #B, #A>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics/Optional|Optional(kotlin.Function1<0:0,arrow.core.Option<0:1>>;kotlin.Function2<0:0,0:1,0:0>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics/Prism(kotlin/Function1<#A, arrow.core/Option<#B>>, kotlin/Function1<#B, #A>): arrow.optics/PPrism<#A, #A, #B, #B> // arrow.optics/Prism|Prism(kotlin.Function1<0:0,arrow.core.Option<0:1>>;kotlin.Function1<0:1,0:0>){0§;1§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.optics/cons(kotlin.collections/List<#A>): kotlin.collections/List<#A> // arrow.optics/cons|cons@0:0(kotlin.collections.List<0:0>){0§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.optics/copy(kotlin/Function1, kotlin/Unit>): #A // arrow.optics/copy|copy@0:0(kotlin.Function1,kotlin.Unit>){0§}[0] +final fun <#A: kotlin/Any?> (arrow.optics/POptional.Companion).arrow.optics/filter(kotlin/Function1<#A, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics/filter|filter@arrow.optics.POptional.Companion(kotlin.Function1<0:0,kotlin.Boolean>){0§}[0] +final fun <#A: kotlin/Any?> (arrow.optics/POptional<#A, #A, kotlin/String, kotlin/String>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/POptional<#A, #A, kotlin/Char, kotlin/Char> // arrow.optics.dsl/index|index@arrow.optics.POptional<0:0,0:0,kotlin.String,kotlin.String>(kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin/String, kotlin/String>).arrow.optics.dsl/filterIndex(kotlin/Function1): arrow.optics/PTraversal<#A, #A, kotlin/Char, kotlin/Char> // arrow.optics.dsl/filterIndex|filterIndex@arrow.optics.PTraversal<0:0,0:0,kotlin.String,kotlin.String>(kotlin.Function1){0§}[0] +final fun <#A: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin/String, kotlin/String>).arrow.optics.dsl/index(kotlin/Int): arrow.optics/PTraversal<#A, #A, kotlin/Char, kotlin/Char> // arrow.optics.dsl/index|index@arrow.optics.PTraversal<0:0,0:0,kotlin.String,kotlin.String>(kotlin.Int){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/List<#A>).arrow.optics/snoc(#A): kotlin.collections/List<#A> // arrow.optics/snoc|snoc@kotlin.collections.List<0:0>(0:0){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/List<#A>).arrow.optics/uncons(): kotlin/Pair<#A, kotlin.collections/List<#A>>? // arrow.optics/uncons|uncons@kotlin.collections.List<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> (kotlin.collections/List<#A>).arrow.optics/unsnoc(): kotlin/Pair, #A>? // arrow.optics/unsnoc|unsnoc@kotlin.collections.List<0:0>(){0§}[0] +final fun <#A: kotlin/Any?> arrow.optics.regex/onceOrMore(arrow.optics/PTraversal<#A, #A, #A, #A>): arrow.optics/PTraversal<#A, #A, #A, #A> // arrow.optics.regex/onceOrMore|onceOrMore(arrow.optics.PTraversal<0:0,0:0,0:0,0:0>){0§}[0] +final fun <#A: kotlin/Any?> arrow.optics.regex/zeroOrMore(arrow.optics/PTraversal<#A, #A, #A, #A>): arrow.optics/PTraversal<#A, #A, #A, #A> // arrow.optics.regex/zeroOrMore|zeroOrMore(arrow.optics.PTraversal<0:0,0:0,0:0,0:0>){0§}[0] diff --git a/arrow-libs/optics/arrow-optics/build.gradle.kts b/arrow-libs/optics/arrow-optics/build.gradle.kts index 55ad127fd24..eb419c1654c 100644 --- a/arrow-libs/optics/arrow-optics/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -42,6 +46,12 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/optics/arrow-optics/gradle.properties b/arrow-libs/optics/arrow-optics/gradle.properties index 7c588e83e02..917dc93816a 100644 --- a/arrow-libs/optics/arrow-optics/gradle.properties +++ b/arrow-libs/optics/arrow-optics/gradle.properties @@ -1,4 +1,4 @@ # Maven publishing configuration -pom.name=Arrow Optics +POM_NAME=Arrow Optics # Build configuration kapt.incremental.apt=false diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Delicate.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Delicate.kt new file mode 100644 index 00000000000..917e522ce30 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Delicate.kt @@ -0,0 +1,71 @@ +package arrow.optics + +import arrow.core.None +import arrow.core.Some + +@RequiresOptIn( + level = RequiresOptIn.Level.WARNING, + message = "Delicate optic, please check the documentation for correct usage." +) +@Retention(AnnotationRetention.BINARY) +@Target(AnnotationTarget.FUNCTION) +public annotation class DelicateOptic + +/** + * Focuses on the value only if the [predicate] is true. + * This optics The optic is perfectly OK when used to get + * values using `getOrNull` or `getAll`; but requires + * some caution using `modify` with it. + * + * ⚠️ Warning: when using `modify` with this optic, + * the transformation should not alter the values that are + * taken into account by the predicate. For example, it is + * fine to `filter` by `name` and then increase the `age`, + * but not to `filter` by `name` and then capitalize the `name`. + * + * In general terms, this optic does not satisfy the rule that + * applying two modifications in a row is equivalent to + * applying those two modifications at once. The following + * example shows that increasing by one twice is not equivalent + * to increasing by two. + * + * ``` + * val p = Optional.filter { it % 2 == 0 } // focus on even numbers + * val n = 2 // an even number + * + * p.modify(p.modify(n) { it + 1 }) { it + 1 } + * // ---------------------- = 3 + * // ---------------------------------------- = null + * + * p.modify(n) { it + 2 } + * // ------------------- = 4 + * ``` + * + * The reader interested in a (deep) discussion about why + * this rule is important may consult the blog post + * [_Finding (correct) lens laws_](https://oleg.fi/gists/posts/2018-12-12-find-correct-laws.html) + * by Oleg Genrus. + */ +@DelicateOptic +public fun POptional.Companion.filter( + predicate: (S) -> Boolean +): Optional = Optional( + getOption = { if (predicate(it)) Some(it) else None }, + set = { s, x -> if (predicate(s)) x else s } +) + +/** + * Focuses on a sequence of lenses. + * + * Warning: using a lens more than once in the list + * may give unexpected results upon modification. + */ +@DelicateOptic +public fun PTraversal.Companion.fromLenses( + lens1: PLens, vararg lenses: PLens +): PTraversal = object : PTraversal { + override fun foldMap(initial: R, combine: (R, R) -> R, source: S, map: (focus: A) -> R): R = + lenses.fold(map(lens1.get(source))) { current, lens -> combine(current, map(lens.get(source))) } + override fun modify(source: S, map: (focus: A) -> B): S = + lenses.fold(lens1.modify(source, map)) { current, lens -> lens.modify(current, map) } +} diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Lens.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Lens.kt index aa054a7bf8e..55b6e2e7527 100644 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Lens.kt +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Lens.kt @@ -220,3 +220,15 @@ public interface PLens : POptional { ) } } + +/** + * Compose two lenses, where the first one has a nullable focus, + * keeping the nullability in the types. + */ +public infix fun PLens.composeNull(other: PLens): PLens = PLens( + get = { ss -> this.get(ss)?.let { other.get(it) } }, + set = { ss, b -> + val newA = this.get(ss)?.let { a -> b?.let { other.set(a, it) } } + this.set(ss, newA) + } +) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Prism.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Prism.kt index 1807b1ed6a6..2104645de87 100644 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Prism.kt +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Prism.kt @@ -10,8 +10,13 @@ import arrow.core.flatMap import arrow.core.identity import arrow.core.left import arrow.core.right +import arrow.core.some +import arrow.core.toOption +import kotlin.js.JsName import kotlin.jvm.JvmName import kotlin.jvm.JvmStatic +import kotlin.reflect.KClass +import kotlin.reflect.safeCast /** * [Prism] is a type alias for [PPrism] which fixes the type arguments @@ -217,6 +222,24 @@ public interface PPrism : POptional { }, reverseGet = { it.right() } ) + + /** + * [Prism] to focus on a particular subtype [B] + */ + @JvmStatic @JsName("instanceOfReified") + public inline fun instanceOf(): Prism = Prism( + getOption = { s -> if (s is B) s.some() else arrow.core.none() }, + reverseGet = { s -> s } + ) + + /** + * [Prism] to focus on a particular subtype [B] + */ + @JvmStatic + public fun instanceOf(klass: KClass): Prism = Prism( + getOption = { s -> klass.safeCast(s).toOption() }, + reverseGet = { s -> s } + ) } } diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Traversal.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Traversal.kt index dd37b22dd59..8e7b97c365a 100644 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Traversal.kt +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Traversal.kt @@ -88,6 +88,15 @@ public interface PTraversal { this@PTraversal.modify(source) { b -> other.modify(b, map) } } + public infix fun composeLazy(other: () -> PTraversal): PTraversal = + object : PTraversal { + override fun foldMap(initial: R, combine: (R, R) -> R, source: S, map: (focus: C) -> R): R = + this@PTraversal.foldMap(initial, combine, source) { c -> other().foldMap(initial, combine, c, map) } + + override fun modify(source: S, map: (focus: C) -> D): T = + this@PTraversal.modify(source) { b -> other().modify(b, map) } + } + public operator fun plus(other: PTraversal): PTraversal = this compose other diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/at.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/at.kt index 4ea746447b1..c70e4c42ee2 100644 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/at.kt +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/at.kt @@ -1,10 +1,12 @@ package arrow.optics.dsl +import arrow.core.Option import arrow.optics.Lens import arrow.optics.Optional import arrow.optics.Prism import arrow.optics.Traversal import arrow.optics.typeclasses.At +import kotlin.jvm.JvmName /** * DSL to compose [At] with a [Lens] for a structure [S] to focus in on [A] at given index [I]. @@ -35,3 +37,25 @@ public fun Optional.at(at: At, i: I): Optional * @return [Traversal] with a focus in [A] at given index [I]. */ public fun Traversal.at(at: At, i: I): Traversal = this.compose(at.at(i)) + +public fun Lens>.at(key: K): Lens> = + this.compose(At.map().at(key)) + +public fun Optional>.at(key: K): Optional> = + this.compose(At.map().at(key)) + +public fun Traversal>.at(key: K): Traversal> = + this.compose(At.map().at(key)) + +@JvmName("atSet") +public fun Lens>.at(value: A): Lens = + this.compose(At.set().at(value)) + +@JvmName("atSet") +public fun Optional>.at(value: A): Optional = + this.compose(At.set().at(value)) + +@JvmName("atSet") +public fun Traversal>.at(value: A): Traversal = + this.compose(At.set().at(value)) + diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/delicate.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/delicate.kt new file mode 100644 index 00000000000..9b39d8519c3 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/delicate.kt @@ -0,0 +1,28 @@ +package arrow.optics.dsl + +import arrow.optics.DelicateOptic +import arrow.optics.Optional +import arrow.optics.Traversal +import arrow.optics.filter + +/** + * Focuses on those values for which the [predicate] is true. + * + * See [Optional.filter] for further description of the + * caution one should be with this optic. + */ +@DelicateOptic +public fun Traversal.filter( + predicate: (A) -> Boolean +): Traversal = this compose Optional.filter(predicate) + +/** + * Focuses on the value only if the [predicate] is true. + * + * See [Optional.filter] for further description of the + * caution one should be with this optic. + */ +@DelicateOptic +public fun Optional.filter( + predicate: (A) -> Boolean +): Optional = this compose Optional.filter(predicate) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/every.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/every.kt index 4cb645f8ed3..05b2cb2e61d 100644 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/every.kt +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/every.kt @@ -1,6 +1,12 @@ package arrow.optics.dsl +import arrow.core.Either +import arrow.core.NonEmptyList +import arrow.core.Option +import arrow.optics.Every +import arrow.optics.Optional import arrow.optics.Traversal +import kotlin.jvm.JvmName /** * DSL to compose [Traversal] with a [Traversal] for a structure [S] to see all its foci [A] @@ -10,3 +16,30 @@ import arrow.optics.Traversal * @return [Traversal] with a focus in [A] */ public fun Traversal.every(tr: Traversal): Traversal = this.compose(tr) + +public val Traversal>.every: Traversal + get() = this.compose(Every.list()) + +@get:JvmName("everyRight") +public val Traversal>.every: Traversal + get() = this.compose(Every.either()) + +@get:JvmName("everyValue") +public val Traversal>.every: Traversal + get() = this.compose(Every.map()) + +@get:JvmName("everyNonEmptyList") +public val Traversal>.every: Traversal + get() = this.compose(Every.nonEmptyList()) + +@get:JvmName("everySome") +public val Traversal>.every: Traversal + get() = this.compose(Every.option()) + +@get:JvmName("everySequence") +public val Traversal>.every: Traversal + get() = this.compose(Every.sequence()) + +@get:JvmName("everyChar") +public val Traversal.every: Traversal + get() = this.compose(Every.string()) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/filterIndex.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/filterIndex.kt new file mode 100644 index 00000000000..299494fe7f9 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/filterIndex.kt @@ -0,0 +1,38 @@ +package arrow.optics.dsl + +import arrow.core.NonEmptyList +import arrow.core.Predicate +import arrow.optics.Optional +import arrow.optics.Traversal +import arrow.optics.typeclasses.FilterIndex +import kotlin.jvm.JvmName + +/** + * DSL to compose [FilterIndex] with an [Traversal] for a structure [S] to focus in on [A] at given index [I] + * + * @receiver [Optional] with a focus in [S] + * @param filter [FilterIndex] instance to provide a [Optional] to focus into [S] at [I] + * @param i index [I] to focus into [S] and find focus [A] + * @return [Optional] with a focus in [A] at given index [I] + */ +public fun Traversal.filterIndex(filter: FilterIndex, predicate: Predicate): Traversal = + this.compose(filter.filter(predicate)) + +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = + this.compose(FilterIndex.list().filter(predicate)) + +@JvmName("filterNonEmptyList") +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = + this.compose(FilterIndex.nonEmptyList().filter(predicate)) + +@JvmName("filterSequence") +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = + this.compose(FilterIndex.sequence().filter(predicate)) + +@JvmName("filterValues") +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = + this.compose(FilterIndex.map().filter(predicate)) + +@JvmName("filterChars") +public fun Traversal.filterIndex(predicate: Predicate): Traversal = + this.compose(FilterIndex.string().filter(predicate)) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/index.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/index.kt index ca7ff58db85..d42c67b6a2d 100644 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/index.kt +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/index.kt @@ -1,10 +1,12 @@ package arrow.optics.dsl +import arrow.core.NonEmptyList import arrow.optics.Lens import arrow.optics.Optional import arrow.optics.Prism import arrow.optics.Traversal import arrow.optics.typeclasses.Index +import kotlin.jvm.JvmName /** * DSL to compose [Index] with an [Optional] for a structure [S] to focus in on [A] at given index [I] @@ -25,3 +27,41 @@ public fun Optional.index(idx: Index, i: I): Optiona * @return [Traversal] with a focus in [A] at given index [I]. */ public fun Traversal.index(idx: Index, i: I): Traversal = this.compose(idx.index(i)) + +public fun Optional>.index(index: Int): Optional = + this.compose(Index.list().index(index)) + +public fun Traversal>.index(index: Int): Traversal = + this.compose(Index.list().index(index)) + +@JvmName("indexNonEmptyList") +public fun Optional>.index(index: Int): Optional = + this.compose(Index.nonEmptyList().index(index)) + +@JvmName("indexNonEmptyList") +public fun Traversal>.index(index: Int): Traversal = + this.compose(Index.nonEmptyList().index(index)) + +@JvmName("indexValues") +public fun Optional>.index(key: K): Optional = + this.compose(Index.map().index(key)) + +@JvmName("indexValues") +public fun Traversal>.index(key: K): Traversal = + this.compose(Index.map().index(key)) + +@JvmName("indexSequence") +public fun Optional>.index(index: Int): Optional = + this.compose(Index.sequence().index(index)) + +@JvmName("indexSequence") +public fun Traversal>.index(index: Int): Traversal = + this.compose(Index.sequence().index(index)) + +@JvmName("indexString") +public fun Optional.index(index: Int): Optional = + this.compose(Index.string().index(index)) + +@JvmName("indexString") +public fun Traversal.index(index: Int): Traversal = + this.compose(Index.string().index(index)) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/Regex.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/Regex.kt new file mode 100644 index 00000000000..b2b6d73f327 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/Regex.kt @@ -0,0 +1,53 @@ +package arrow.optics.regex + +import arrow.optics.Iso +import arrow.optics.Traversal +import arrow.optics.PTraversal + +/** + * [Traversal] that aggregates the elements of two other traversals. + * + * For example, this may aggregate the values coming from several fields of the same type. + */ +public infix fun PTraversal.and(other: PTraversal): PTraversal = + object : PTraversal { + override fun foldMap(initial: R, combine: (R, R) -> R, source: T, map: (focus: A) -> R): R { + val meFolded = this@and.foldMap(initial, combine, source, map) + val otherFolded = other.foldMap(initial, combine, source, map) + return combine(meFolded, otherFolded) + } + + override fun modify(source: T, map: (focus: A) -> B): T = + other.modify(this@and.modify(source, map), map) + } + +/** + * [Traversal] that aggregates the elements of two other traversals. + * + * For example, this may aggregate the values coming from several fields of the same type. + */ +public operator fun PTraversal.times(other: PTraversal): PTraversal = + this and other + +/** + * Aggregates the elements by "going into" the desired traversal repeatedly. + * This traversal is especially useful to inspect values which contain fields of + * the same type within them. + * + * **Important**: [onceOrMore] may operate over the same value more than once, + * if there is more than one path arriving to it. + */ +public fun onceOrMore(traversal: Traversal): Traversal = + traversal composeLazy { zeroOrMore(traversal) } + +/** + * Aggregates the elements by "going into" the desired traversal repeatedly, + * including the starting value itself. + * This traversal is especially useful to inspect values which contain fields of + * the same type within them. + * + * **Important**: [zeroOrMore] may operate over the same value more than once, + * if there is more than one path arriving to it. + */ +public fun zeroOrMore(traversal: Traversal): Traversal = + Iso.id() and onceOrMore(traversal) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/dsl/Regex.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/dsl/Regex.kt new file mode 100644 index 00000000000..086338cac62 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/dsl/Regex.kt @@ -0,0 +1,11 @@ +package arrow.optics.regex.dsl + +import arrow.optics.regex.onceOrMore as regexOnceOrMore +import arrow.optics.regex.zeroOrMore as regexZeroOrMore +import arrow.optics.Traversal + +public fun Traversal.onceOrMore(traversal: Traversal): Traversal = + this compose regexOnceOrMore(traversal) + +public fun Traversal.zeroOrMore(traversal: Traversal): Traversal = + this compose regexZeroOrMore(traversal) diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/OptionalTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/OptionalTest.kt index f8977ee7943..f21bb6f88cd 100644 --- a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/OptionalTest.kt +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/OptionalTest.kt @@ -5,6 +5,7 @@ import arrow.core.Either.Right import arrow.core.getOrElse import arrow.core.identity import arrow.core.toOption +import arrow.optics.dsl.filter import arrow.optics.test.functionAToB import arrow.optics.test.laws.OptionalLaws import arrow.optics.test.laws.testLaws @@ -19,6 +20,7 @@ import io.kotest.property.arbitrary.pair import io.kotest.property.arbitrary.string import io.kotest.property.checkAll import kotlinx.coroutines.test.runTest +import kotlin.test.Ignore import kotlin.test.Test class OptionalTest { @@ -187,4 +189,61 @@ class OptionalTest { joinedOptional.getOrNull(Left(listOf(int))) shouldBe joinedOptional.getOrNull(Right(int)) } } + + @OptIn(DelicateOptic::class) @Test + fun filterPrismTrue() = runTest { + checkAll(Arb.sumType()) { sum: SumType -> + Prism.sumType().filter { true }.getOrNull(sum) shouldBe (sum as? SumType.A)?.string + } + } + + @OptIn(DelicateOptic::class) @Test + fun filterPrismFalse() = runTest { + checkAll(Arb.sumType()) { sum: SumType -> + Prism.sumType().filter { false }.getOrNull(sum) shouldBe null + } + } + + @OptIn(DelicateOptic::class) @Test + fun filterListBasic() = runTest { + checkAll(Arb.list(Arb.int(), range = 0 .. 20)) { lst: List -> + Every.list().filter { true }.getAll(lst) shouldBe lst + Every.list().filter { false }.getAll(lst) shouldBe emptyList() + } + } + + @OptIn(DelicateOptic::class) @Test + fun filterPredicate() = runTest { + checkAll(Arb.list(Arb.int())) { lst: List -> + Every.list().filter { it > 7 }.getAll(lst) shouldBe lst.filter { it > 7 } + } + } + + @OptIn(DelicateOptic::class) @Test + fun filterModify() = runTest { + checkAll(Arb.list(Arb.pair(Arb.int(), Arb.string(maxSize = 10)))) { lst: List> -> + Every.list>() + .filter { (n, _) -> n % 2 == 0 } + .compose(Lens.pairSecond()) + .modify(lst) { it.uppercase() } + .shouldBe(lst.map { (n, s) -> Pair(n, if (n % 2 == 0) s.uppercase() else s) }) + } + } + + @OptIn(DelicateOptic::class) @Test + fun filterSetGetFails() = runTest { + checkAll(Arb.int()) { n -> + val p = Optional.filter { it % 2 == 0 } + p.getOrNull(p.set(n, n)) shouldBe n.takeIf { it % 2 == 0 } + } + } + + @OptIn(DelicateOptic::class) @Test @Ignore + // 'filter' does not satisfy the double-modification law + fun filterSetSetFails() = runTest { + checkAll(Arb.int(range = 0 .. 100)) { n -> + val p = Optional.filter { it % 2 == 0 } + p.modify(p.modify(n) { it + 1 }) { it + 1 } shouldBe p.modify(n) { it + 2 } + } + } } diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/PrismTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/PrismTest.kt index e0a2b7dabca..e49048ea748 100644 --- a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/PrismTest.kt +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/PrismTest.kt @@ -205,5 +205,4 @@ class PrismTest { Prism.sumType().all(sum) { predicate } shouldBe (predicate || sum is SumType.B) } } - } diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/AtSyntaxTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/AtSyntaxTest.kt new file mode 100644 index 00000000000..c7178a169fa --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/AtSyntaxTest.kt @@ -0,0 +1,60 @@ +package arrow.optics.dsl + +import arrow.core.None +import kotlin.test.Test +import kotlin.test.assertEquals + +class AtSyntaxTest { + + @Test + fun mapModify() { + val original = mapOf("one" to 1, "two" to 2) + val expected = Wrapper(original.mapValues { (k, i) -> + if (k == "one") i + 1 else i + }) + val actual = Wrapper.lens>() + .at("one") + .some + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun mapRemove() { + val original = mapOf("one" to 1, "two" to 2) + val expected = Wrapper(original - "one") + val actual = Wrapper.lens>() + .at("one") + .set(Wrapper(original), None) + assertEquals(expected, actual) + } + + fun setKeep() { + val original = setOf(1) + val expected = Wrapper(setOf(1, 2)) + val actual = Wrapper.lens>() + .at(2) + .set(Wrapper(original), false) + assertEquals(expected, actual) + } + + @Test + fun setRemove() { + val original = setOf(1) + val expected = Wrapper(setOf(1, 2)) + val actual = Wrapper.lens>() + .at(2) + .set(Wrapper(original), true) + assertEquals(expected, actual) + } + + @Test + fun setFilter() { + val original = setOf(1) + val expected = Wrapper(emptySet()) + val actual = Wrapper.lens>() + .at(1) + .set(Wrapper(original), false) + assertEquals(expected, actual) + } +} diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/EverySyntaxTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/EverySyntaxTest.kt new file mode 100644 index 00000000000..de9894af25f --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/EverySyntaxTest.kt @@ -0,0 +1,103 @@ +package arrow.optics.dsl + +import arrow.core.* +import arrow.optics.Lens +import kotlin.jvm.JvmInline +import kotlin.test.Test +import kotlin.test.assertEquals + +class EverySyntaxTest { + + @Test + fun list() { + val original = listOf(1, 2) + val expected = Wrapper(original.map(Int::inc)) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun either_right() { + val original: Either = 1.right() + val expected = Wrapper(original.map(Int::inc)) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun either_left() { + val original: Either = "one".left() + val expected = Wrapper(original) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun map() { + val original = mapOf("one" to 1, "two" to 2) + val expected = Wrapper(original.mapValues { (_, i) -> i + 1 }) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun nonEmptyList() { + val original = nonEmptyListOf(1, 2) + val expected = Wrapper(original.map(Int::inc)) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun some() { + val original = 1.some() + val expected = Wrapper(original.map(Int::inc)) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun none() { + val original = none() + val expected = Wrapper(original.map(Int::inc)) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected, actual) + } + + @Test + fun sequence() { + val original = sequenceOf(1, 2) + val expected = Wrapper(original.map(Int::inc)) + val actual = Wrapper.lens>() + .every + .modify(Wrapper(original), Int::inc) + assertEquals(expected.value.toList(), actual.value.toList()) + } + + private fun String.mapEach(block: (Char) -> Char): String = + map(block).joinToString(separator = "") + + @Test + fun string() { + val original = "abc" + val expected = Wrapper(original.mapEach(Char::titlecaseChar)) + val actual = Wrapper.lens() + .every + .modify(Wrapper(original), Char::titlecaseChar) + assertEquals(expected, actual) + } +} diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/Wrapper.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/Wrapper.kt new file mode 100644 index 00000000000..526cfae40b7 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/Wrapper.kt @@ -0,0 +1,13 @@ +package arrow.optics.dsl + +import arrow.optics.Lens +import arrow.optics.PLens +import kotlin.jvm.JvmInline + +@JvmInline +value class Wrapper(val value: A) { + companion object { + fun lens(): Lens, A> = + PLens(Wrapper::value) { _, a -> Wrapper(a) } + } +} diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/regex/RegexTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/regex/RegexTest.kt new file mode 100644 index 00000000000..f773eb50595 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/regex/RegexTest.kt @@ -0,0 +1,62 @@ +package arrow.optics.regex + +import arrow.optics.Lens +import arrow.optics.Traversal +import arrow.optics.dsl.every +import io.kotest.matchers.shouldBe +import kotlin.test.Test + +class RegexTest { + data class NumbersAndMoreNumbers(val number: Int, val moreNumbers: List) { + companion object { + val number: Lens = + Lens(NumbersAndMoreNumbers::number) { n, s -> n.copy(number = s) } + val moreNumbers: Lens> = + Lens(NumbersAndMoreNumbers::moreNumbers) { n, s -> n.copy(moreNumbers = s) } + } + } + + val Traversal.number + get() = this compose NumbersAndMoreNumbers.number + + val example = NumbersAndMoreNumbers( + number = 1, + moreNumbers = listOf( + NumbersAndMoreNumbers( + number = 2, + moreNumbers = emptyList() + ), + NumbersAndMoreNumbers( + number = 3, + moreNumbers = listOf( + NumbersAndMoreNumbers( + number = 4, + moreNumbers = emptyList() + ), + NumbersAndMoreNumbers( + number = 5, + moreNumbers = emptyList() + ), + ) + ), + ) + ) + + @Test + fun testAnd() { + val optic = NumbersAndMoreNumbers.number * (NumbersAndMoreNumbers.moreNumbers.every + NumbersAndMoreNumbers.number) + optic.getAll(example) shouldBe listOf(1, 2, 3) + } + + @Test + fun testZeroOrMore() { + val optic = zeroOrMore(NumbersAndMoreNumbers.moreNumbers.every).number + optic.getAll(example) shouldBe listOf(1, 2, 3, 4, 5) + } + + @Test + fun testOnceOrMore() { + val optic = onceOrMore(NumbersAndMoreNumbers.moreNumbers.every).number + optic.getAll(example) shouldBe listOf(2, 3, 4, 5) + } +} diff --git a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.api b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.api index 9a98fa248c0..52e034ccf6a 100644 --- a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.api +++ b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.api @@ -251,11 +251,11 @@ public final class arrow/resilience/Schedule$Decision$Done : arrow/resilience/Sc } public final class arrow/resilience/ScheduleKt { - public static final fun retry-4AuOtiA (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun retry-YL6hcnA (Larrow/core/raise/Raise;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun retry-aZo8_V4 (Lkotlin/jvm/functions/Function2;Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun retryEither-4AuOtiA (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun retryOrElse-aZo8_V4 (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; - public static final fun retryOrElseEither-aZo8_V4 (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun retryOrElse-quv6EbI (Lkotlin/jvm/functions/Function2;Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static final fun retryOrElseEither-quv6EbI (Lkotlin/jvm/functions/Function2;Lkotlin/reflect/KClass;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function3;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static final fun retryRaise-4AuOtiA (Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function1;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } diff --git a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api new file mode 100644 index 00000000000..17cf9ae567e --- /dev/null +++ b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api @@ -0,0 +1,261 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +open annotation class arrow.resilience/SagaDSLMarker : kotlin/Annotation { // arrow.resilience/SagaDSLMarker|null[0] + constructor () // arrow.resilience/SagaDSLMarker.|(){}[0] +} + +final enum class arrow.resilience.common/Platform : kotlin/Enum { // arrow.resilience.common/Platform|null[0] + enum entry JS // arrow.resilience.common/Platform.JS|null[0] + enum entry JVM // arrow.resilience.common/Platform.JVM|null[0] + enum entry Native // arrow.resilience.common/Platform.Native|null[0] + enum entry Wasm // arrow.resilience.common/Platform.Wasm|null[0] + + final val entries // arrow.resilience.common/Platform.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // arrow.resilience.common/Platform.entries.|#static(){}[0] + + final fun valueOf(kotlin/String): arrow.resilience.common/Platform // arrow.resilience.common/Platform.valueOf|valueOf#static(kotlin.String){}[0] + final fun values(): kotlin/Array // arrow.resilience.common/Platform.values|values#static(){}[0] +} + +abstract interface arrow.resilience/SagaScope { // arrow.resilience/SagaScope|null[0] + abstract suspend fun <#A1: kotlin/Any?> saga(kotlin.coroutines/SuspendFunction1, kotlin.coroutines/SuspendFunction1<#A1, kotlin/Unit>): #A1 // arrow.resilience/SagaScope.saga|saga(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1<0:0,kotlin.Unit>){0§}[0] + open suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).bind(): #A1 // arrow.resilience/SagaScope.bind|bind@kotlin.coroutines.SuspendFunction1(){0§}[0] + open suspend fun <#A1: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).invoke(): #A1 // arrow.resilience/SagaScope.invoke|invoke@kotlin.coroutines.SuspendFunction1(){0§}[0] +} + +final class arrow.resilience/CircuitBreaker { // arrow.resilience/CircuitBreaker|null[0] + final fun doOnClosed(kotlin.coroutines/SuspendFunction0): arrow.resilience/CircuitBreaker // arrow.resilience/CircuitBreaker.doOnClosed|doOnClosed(kotlin.coroutines.SuspendFunction0){}[0] + final fun doOnHalfOpen(kotlin.coroutines/SuspendFunction0): arrow.resilience/CircuitBreaker // arrow.resilience/CircuitBreaker.doOnHalfOpen|doOnHalfOpen(kotlin.coroutines.SuspendFunction0){}[0] + final fun doOnOpen(kotlin.coroutines/SuspendFunction0): arrow.resilience/CircuitBreaker // arrow.resilience/CircuitBreaker.doOnOpen|doOnOpen(kotlin.coroutines.SuspendFunction0){}[0] + final fun doOnRejectedTask(kotlin.coroutines/SuspendFunction0): arrow.resilience/CircuitBreaker // arrow.resilience/CircuitBreaker.doOnRejectedTask|doOnRejectedTask(kotlin.coroutines.SuspendFunction0){}[0] + final suspend fun <#A1: kotlin/Any?> protectEither(kotlin.coroutines/SuspendFunction0<#A1>): arrow.core/Either // arrow.resilience/CircuitBreaker.protectEither|protectEither(kotlin.coroutines.SuspendFunction0<0:0>){0§}[0] + final suspend fun <#A1: kotlin/Any?> protectOrThrow(kotlin.coroutines/SuspendFunction0<#A1>): #A1 // arrow.resilience/CircuitBreaker.protectOrThrow|protectOrThrow(kotlin.coroutines.SuspendFunction0<0:0>){0§}[0] + final suspend fun awaitClose() // arrow.resilience/CircuitBreaker.awaitClose|awaitClose(){}[0] + final suspend fun state(): arrow.resilience/CircuitBreaker.State // arrow.resilience/CircuitBreaker.state|state(){}[0] + + final class ExecutionRejected : kotlin/Throwable { // arrow.resilience/CircuitBreaker.ExecutionRejected|null[0] + constructor (kotlin/String, arrow.resilience/CircuitBreaker.State) // arrow.resilience/CircuitBreaker.ExecutionRejected.|(kotlin.String;arrow.resilience.CircuitBreaker.State){}[0] + + final val reason // arrow.resilience/CircuitBreaker.ExecutionRejected.reason|{}reason[0] + final fun (): kotlin/String // arrow.resilience/CircuitBreaker.ExecutionRejected.reason.|(){}[0] + final val state // arrow.resilience/CircuitBreaker.ExecutionRejected.state|{}state[0] + final fun (): arrow.resilience/CircuitBreaker.State // arrow.resilience/CircuitBreaker.ExecutionRejected.state.|(){}[0] + } + + sealed class OpeningStrategy { // arrow.resilience/CircuitBreaker.OpeningStrategy|null[0] + final class Count : arrow.resilience/CircuitBreaker.OpeningStrategy { // arrow.resilience/CircuitBreaker.OpeningStrategy.Count|null[0] + constructor (kotlin/Int, kotlin/Int = ...) // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.|(kotlin.Int;kotlin.Int){}[0] + + final val failuresCount // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.failuresCount|{}failuresCount[0] + final fun (): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.failuresCount.|(){}[0] + final val maxFailures // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.maxFailures|{}maxFailures[0] + final fun (): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.maxFailures.|(){}[0] + + final fun component1(): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.component1|component1(){}[0] + final fun component2(): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.component2|component2(){}[0] + final fun copy(kotlin/Int = ..., kotlin/Int = ...): arrow.resilience/CircuitBreaker.OpeningStrategy.Count // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.copy|copy(kotlin.Int;kotlin.Int){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.toString|toString(){}[0] + + final object Companion { // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.Companion|null[0] + final fun invoke(kotlin/Int): arrow.resilience/CircuitBreaker.OpeningStrategy.Count // arrow.resilience/CircuitBreaker.OpeningStrategy.Count.Companion.invoke|invoke(kotlin.Int){}[0] + } + } + + final class SlidingWindow : arrow.resilience/CircuitBreaker.OpeningStrategy { // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow|null[0] + constructor (kotlin.time/TimeSource, kotlin.collections/List, kotlin.time/Duration, kotlin/Int) // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.|(kotlin.time.TimeSource;kotlin.collections.List;kotlin.time.Duration;kotlin.Int){}[0] + + final val failures // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.failures|{}failures[0] + final fun (): kotlin.collections/List // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.failures.|(){}[0] + final val maxFailures // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.maxFailures|{}maxFailures[0] + final fun (): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.maxFailures.|(){}[0] + final val timeSource // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.timeSource|{}timeSource[0] + final fun (): kotlin.time/TimeSource // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.timeSource.|(){}[0] + final val windowDuration // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.windowDuration|{}windowDuration[0] + final fun (): kotlin.time/Duration // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.windowDuration.|(){}[0] + + final fun component1(): kotlin.time/TimeSource // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.component1|component1(){}[0] + final fun component2(): kotlin.collections/List // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.component2|component2(){}[0] + final fun component3(): kotlin.time/Duration // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.component3|component3(){}[0] + final fun component4(): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.component4|component4(){}[0] + final fun copy(kotlin.time/TimeSource = ..., kotlin.collections/List = ..., kotlin.time/Duration = ..., kotlin/Int = ...): arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.copy|copy(kotlin.time.TimeSource;kotlin.collections.List;kotlin.time.Duration;kotlin.Int){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.toString|toString(){}[0] + + final object Companion { // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.Companion|null[0] + final fun invoke(kotlin.time/TimeSource, kotlin.time/Duration, kotlin/Int): arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow // arrow.resilience/CircuitBreaker.OpeningStrategy.SlidingWindow.Companion.invoke|invoke(kotlin.time.TimeSource;kotlin.time.Duration;kotlin.Int){}[0] + } + } + } + + sealed class State { // arrow.resilience/CircuitBreaker.State|null[0] + abstract val openingStrategy // arrow.resilience/CircuitBreaker.State.openingStrategy|{}openingStrategy[0] + abstract fun (): arrow.resilience/CircuitBreaker.OpeningStrategy // arrow.resilience/CircuitBreaker.State.openingStrategy.|(){}[0] + + final class Closed : arrow.resilience/CircuitBreaker.State { // arrow.resilience/CircuitBreaker.State.Closed|null[0] + constructor (arrow.resilience/CircuitBreaker.OpeningStrategy) // arrow.resilience/CircuitBreaker.State.Closed.|(arrow.resilience.CircuitBreaker.OpeningStrategy){}[0] + + final val openingStrategy // arrow.resilience/CircuitBreaker.State.Closed.openingStrategy|{}openingStrategy[0] + final fun (): arrow.resilience/CircuitBreaker.OpeningStrategy // arrow.resilience/CircuitBreaker.State.Closed.openingStrategy.|(){}[0] + } + + final class HalfOpen : arrow.resilience/CircuitBreaker.State { // arrow.resilience/CircuitBreaker.State.HalfOpen|null[0] + constructor (arrow.resilience/CircuitBreaker.OpeningStrategy, kotlin.time/Duration) // arrow.resilience/CircuitBreaker.State.HalfOpen.|(arrow.resilience.CircuitBreaker.OpeningStrategy;kotlin.time.Duration){}[0] + constructor (arrow.resilience/CircuitBreaker.OpeningStrategy, kotlin/Double) // arrow.resilience/CircuitBreaker.State.HalfOpen.|(arrow.resilience.CircuitBreaker.OpeningStrategy;kotlin.Double){}[0] + + final val openingStrategy // arrow.resilience/CircuitBreaker.State.HalfOpen.openingStrategy|{}openingStrategy[0] + final fun (): arrow.resilience/CircuitBreaker.OpeningStrategy // arrow.resilience/CircuitBreaker.State.HalfOpen.openingStrategy.|(){}[0] + final val resetTimeout // arrow.resilience/CircuitBreaker.State.HalfOpen.resetTimeout|{}resetTimeout[0] + final fun (): kotlin.time/Duration // arrow.resilience/CircuitBreaker.State.HalfOpen.resetTimeout.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.resilience/CircuitBreaker.State.HalfOpen.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.resilience/CircuitBreaker.State.HalfOpen.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.resilience/CircuitBreaker.State.HalfOpen.toString|toString(){}[0] + } + + final class Open : arrow.resilience/CircuitBreaker.State { // arrow.resilience/CircuitBreaker.State.Open|null[0] + final val expiresAt // arrow.resilience/CircuitBreaker.State.Open.expiresAt|{}expiresAt[0] + final fun (): kotlin.time/TimeMark // arrow.resilience/CircuitBreaker.State.Open.expiresAt.|(){}[0] + final val openingStrategy // arrow.resilience/CircuitBreaker.State.Open.openingStrategy|{}openingStrategy[0] + final fun (): arrow.resilience/CircuitBreaker.OpeningStrategy // arrow.resilience/CircuitBreaker.State.Open.openingStrategy.|(){}[0] + final val resetTimeout // arrow.resilience/CircuitBreaker.State.Open.resetTimeout|{}resetTimeout[0] + final fun (): kotlin.time/Duration // arrow.resilience/CircuitBreaker.State.Open.resetTimeout.|(){}[0] + final val startedAt // arrow.resilience/CircuitBreaker.State.Open.startedAt|{}startedAt[0] + final fun (): kotlin.time/TimeMark // arrow.resilience/CircuitBreaker.State.Open.startedAt.|(){}[0] + + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.resilience/CircuitBreaker.State.Open.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.resilience/CircuitBreaker.State.Open.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.resilience/CircuitBreaker.State.Open.toString|toString(){}[0] + } + } + + final object Companion { // arrow.resilience/CircuitBreaker.Companion|null[0] + final fun invoke(kotlin.time/Duration, arrow.resilience/CircuitBreaker.OpeningStrategy, kotlin/Double = ..., kotlin.time/Duration = ..., kotlin.time/TimeSource = ..., kotlin.coroutines/SuspendFunction0 = ..., kotlin.coroutines/SuspendFunction0 = ..., kotlin.coroutines/SuspendFunction0 = ..., kotlin.coroutines/SuspendFunction0 = ...): arrow.resilience/CircuitBreaker // arrow.resilience/CircuitBreaker.Companion.invoke|invoke(kotlin.time.Duration;arrow.resilience.CircuitBreaker.OpeningStrategy;kotlin.Double;kotlin.time.Duration;kotlin.time.TimeSource;kotlin.coroutines.SuspendFunction0;kotlin.coroutines.SuspendFunction0;kotlin.coroutines.SuspendFunction0;kotlin.coroutines.SuspendFunction0){}[0] + } +} + +final class arrow.resilience/SagaBuilder : arrow.resilience/SagaScope { // arrow.resilience/SagaBuilder|null[0] + constructor (arrow.atomic/Atomic>> = ...) // arrow.resilience/SagaBuilder.|(arrow.atomic.Atomic>>){}[0] + + final suspend fun <#A1: kotlin/Any?> saga(kotlin.coroutines/SuspendFunction1, kotlin.coroutines/SuspendFunction1<#A1, kotlin/Unit>): #A1 // arrow.resilience/SagaBuilder.saga|saga(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1<0:0,kotlin.Unit>){0§}[0] + final suspend fun totalCompensation() // arrow.resilience/SagaBuilder.totalCompensation|totalCompensation(){}[0] +} + +final value class <#A: in kotlin/Any?, #B: out kotlin/Any?> arrow.resilience/Schedule { // arrow.resilience/Schedule|null[0] + constructor (kotlin.coroutines/SuspendFunction1<#A, arrow.resilience/Schedule.Decision<#A, #B>>) // arrow.resilience/Schedule.|(kotlin.coroutines.SuspendFunction1<1:0,arrow.resilience.Schedule.Decision<1:0,1:1>>){}[0] + + final val step // arrow.resilience/Schedule.step|{}step[0] + final fun (): kotlin.coroutines/SuspendFunction1<#A, arrow.resilience/Schedule.Decision<#A, #B>> // arrow.resilience/Schedule.step.|(){}[0] + + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> and(arrow.resilience/Schedule<#A, #A1>, kotlin.coroutines/SuspendFunction2<#B, #A1, #B1>): arrow.resilience/Schedule<#A, #B1> // arrow.resilience/Schedule.and|and(arrow.resilience.Schedule<1:0,0:0>;kotlin.coroutines.SuspendFunction2<1:1,0:0,0:1>){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> and(arrow.resilience/Schedule<#A, #A1>, kotlin.coroutines/SuspendFunction2<#B, #A1, #B1>, kotlin.coroutines/SuspendFunction2): arrow.resilience/Schedule<#A, #B1> // arrow.resilience/Schedule.and|and(arrow.resilience.Schedule<1:0,0:0>;kotlin.coroutines.SuspendFunction2<1:1,0:0,0:1>;kotlin.coroutines.SuspendFunction2){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> andThen(arrow.resilience/Schedule<#A, #A1>, kotlin.coroutines/SuspendFunction1<#B, #B1>, kotlin.coroutines/SuspendFunction1<#A1, #B1>): arrow.resilience/Schedule<#A, #B1> // arrow.resilience/Schedule.andThen|andThen(arrow.resilience.Schedule<1:0,0:0>;kotlin.coroutines.SuspendFunction1<1:1,0:1>;kotlin.coroutines.SuspendFunction1<0:0,0:1>){0§;1§}[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> or(arrow.resilience/Schedule<#A, #A1>, kotlin.coroutines/SuspendFunction2<#B?, #A1?, #B1>, kotlin.coroutines/SuspendFunction2): arrow.resilience/Schedule<#A, #B1> // arrow.resilience/Schedule.or|or(arrow.resilience.Schedule<1:0,0:0>;kotlin.coroutines.SuspendFunction2<1:1?,0:0?,0:1>;kotlin.coroutines.SuspendFunction2){0§;1§}[0] + final fun <#A1: kotlin/Any?> and(arrow.resilience/Schedule<#A, #A1>): arrow.resilience/Schedule<#A, kotlin/Pair<#B, #A1>> // arrow.resilience/Schedule.and|and(arrow.resilience.Schedule<1:0,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> andThen(arrow.resilience/Schedule<#A, #A1>): arrow.resilience/Schedule<#A, arrow.core/Either<#B, #A1>> // arrow.resilience/Schedule.andThen|andThen(arrow.resilience.Schedule<1:0,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> contramap(kotlin.coroutines/SuspendFunction1<#A1, #A>): arrow.resilience/Schedule<#A1, #B> // arrow.resilience/Schedule.contramap|contramap(kotlin.coroutines.SuspendFunction1<0:0,1:0>){0§}[0] + final fun <#A1: kotlin/Any?> fold(#A1, kotlin.coroutines/SuspendFunction2<#A1, #B, #A1>): arrow.resilience/Schedule<#A, #A1> // arrow.resilience/Schedule.fold|fold(0:0;kotlin.coroutines.SuspendFunction2<0:0,1:1,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> map(kotlin.coroutines/SuspendFunction1<#B, #A1>): arrow.resilience/Schedule<#A, #A1> // arrow.resilience/Schedule.map|map(kotlin.coroutines.SuspendFunction1<1:1,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> zipLeft(arrow.resilience/Schedule<#A, #A1>): arrow.resilience/Schedule<#A, #B> // arrow.resilience/Schedule.zipLeft|zipLeft(arrow.resilience.Schedule<1:0,0:0>){0§}[0] + final fun <#A1: kotlin/Any?> zipRight(arrow.resilience/Schedule<#A, #A1>): arrow.resilience/Schedule<#A, #A1> // arrow.resilience/Schedule.zipRight|zipRight(arrow.resilience.Schedule<1:0,0:0>){0§}[0] + final fun collect(): arrow.resilience/Schedule<#A, kotlin.collections/List<#B>> // arrow.resilience/Schedule.collect|collect(){}[0] + final fun delayed(kotlin.coroutines/SuspendFunction2<#B, kotlin.time/Duration, kotlin.time/Duration>): arrow.resilience/Schedule<#A, #B> // arrow.resilience/Schedule.delayed|delayed(kotlin.coroutines.SuspendFunction2<1:1,kotlin.time.Duration,kotlin.time.Duration>){}[0] + final fun doUntil(kotlin.coroutines/SuspendFunction2<#A, #B, kotlin/Boolean>): arrow.resilience/Schedule<#A, #B> // arrow.resilience/Schedule.doUntil|doUntil(kotlin.coroutines.SuspendFunction2<1:0,1:1,kotlin.Boolean>){}[0] + final fun doWhile(kotlin.coroutines/SuspendFunction2<#A, #B, kotlin/Boolean>): arrow.resilience/Schedule<#A, #B> // arrow.resilience/Schedule.doWhile|doWhile(kotlin.coroutines.SuspendFunction2<1:0,1:1,kotlin.Boolean>){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.resilience/Schedule.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.resilience/Schedule.hashCode|hashCode(){}[0] + final fun jittered(kotlin/Double = ..., kotlin/Double = ..., kotlin.random/Random = ...): arrow.resilience/Schedule<#A, #B> // arrow.resilience/Schedule.jittered|jittered(kotlin.Double;kotlin.Double;kotlin.random.Random){}[0] + final fun log(kotlin.coroutines/SuspendFunction2<#A, #B, kotlin/Unit>): arrow.resilience/Schedule<#A, #B> // arrow.resilience/Schedule.log|log(kotlin.coroutines.SuspendFunction2<1:0,1:1,kotlin.Unit>){}[0] + final fun mapDecision(kotlin.coroutines/SuspendFunction1, arrow.resilience/Schedule.Decision<#A, #B>>): arrow.resilience/Schedule<#A, #B> // arrow.resilience/Schedule.mapDecision|mapDecision(kotlin.coroutines.SuspendFunction1,arrow.resilience.Schedule.Decision<1:0,1:1>>){}[0] + final fun toString(): kotlin/String // arrow.resilience/Schedule.toString|toString(){}[0] + final suspend fun <#A1: kotlin/Any?> repeatOrElseEither(kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction2): arrow.core/Either<#A1, #B> // arrow.resilience/Schedule.repeatOrElseEither|repeatOrElseEither(kotlin.coroutines.SuspendFunction0<1:0>;kotlin.coroutines.SuspendFunction2){0§}[0] + final suspend fun repeat(kotlin.coroutines/SuspendFunction0<#A>): #B // arrow.resilience/Schedule.repeat|repeat(kotlin.coroutines.SuspendFunction0<1:0>){}[0] + final suspend fun repeatOrElse(kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction2): #B // arrow.resilience/Schedule.repeatOrElse|repeatOrElse(kotlin.coroutines.SuspendFunction0<1:0>;kotlin.coroutines.SuspendFunction2){}[0] + + sealed interface <#A1: in kotlin/Any?, #B1: out kotlin/Any?> Decision { // arrow.resilience/Schedule.Decision|null[0] + abstract val output // arrow.resilience/Schedule.Decision.output|{}output[0] + abstract fun (): #B1 // arrow.resilience/Schedule.Decision.output.|(){}[0] + + open suspend fun <#A2: kotlin/Any?, #B2: kotlin/Any?> and(arrow.resilience/Schedule.Decision<#A1, #A2>, kotlin.coroutines/SuspendFunction2<#B1, #A2, #B2>, kotlin.coroutines/SuspendFunction2): arrow.resilience/Schedule.Decision<#A1, #B2> // arrow.resilience/Schedule.Decision.and|and(arrow.resilience.Schedule.Decision<1:0,0:0>;kotlin.coroutines.SuspendFunction2<1:1,0:0,0:1>;kotlin.coroutines.SuspendFunction2){0§;1§}[0] + open suspend fun <#A2: kotlin/Any?, #B2: kotlin/Any?> andThen(kotlin.coroutines/SuspendFunction1<#A1, arrow.resilience/Schedule.Decision<#A1, #A2>>, kotlin.coroutines/SuspendFunction1<#B1, #B2>, kotlin.coroutines/SuspendFunction1<#A2, #B2>): arrow.resilience/Schedule.Decision<#A1, #B2> // arrow.resilience/Schedule.Decision.andThen|andThen(kotlin.coroutines.SuspendFunction1<1:0,arrow.resilience.Schedule.Decision<1:0,0:0>>;kotlin.coroutines.SuspendFunction1<1:1,0:1>;kotlin.coroutines.SuspendFunction1<0:0,0:1>){0§;1§}[0] + open suspend fun <#A2: kotlin/Any?, #B2: kotlin/Any?> or(arrow.resilience/Schedule.Decision<#A1, #A2>, kotlin.coroutines/SuspendFunction2<#B1?, #A2?, #B2>, kotlin.coroutines/SuspendFunction2): arrow.resilience/Schedule.Decision<#A1, #B2> // arrow.resilience/Schedule.Decision.or|or(arrow.resilience.Schedule.Decision<1:0,0:0>;kotlin.coroutines.SuspendFunction2<1:1?,0:0?,0:1>;kotlin.coroutines.SuspendFunction2){0§;1§}[0] + open suspend fun <#A2: kotlin/Any?> contramap(kotlin.coroutines/SuspendFunction1<#A2, #A1>): arrow.resilience/Schedule.Decision<#A2, #B1> // arrow.resilience/Schedule.Decision.contramap|contramap(kotlin.coroutines.SuspendFunction1<0:0,1:0>){0§}[0] + open suspend fun <#A2: kotlin/Any?> map(kotlin.coroutines/SuspendFunction1<#B1, #A2>): arrow.resilience/Schedule.Decision<#A1, #A2> // arrow.resilience/Schedule.Decision.map|map(kotlin.coroutines.SuspendFunction1<1:1,0:0>){0§}[0] + open suspend fun andThen(kotlin.coroutines/SuspendFunction1<#A1, arrow.resilience/Schedule.Decision<#A1, #B1>>): arrow.resilience/Schedule.Decision<#A1, #B1> // arrow.resilience/Schedule.Decision.andThen|andThen(kotlin.coroutines.SuspendFunction1<1:0,arrow.resilience.Schedule.Decision<1:0,1:1>>){}[0] + open suspend fun delayed(kotlin.coroutines/SuspendFunction2<#B1, kotlin.time/Duration, kotlin.time/Duration>): arrow.resilience/Schedule.Decision<#A1, #B1> // arrow.resilience/Schedule.Decision.delayed|delayed(kotlin.coroutines.SuspendFunction2<1:1,kotlin.time.Duration,kotlin.time.Duration>){}[0] + open suspend fun recursiveMap(kotlin.coroutines/SuspendFunction1, arrow.resilience/Schedule.Decision<#A1, #B1>>): arrow.resilience/Schedule.Decision<#A1, #B1> // arrow.resilience/Schedule.Decision.recursiveMap|recursiveMap(kotlin.coroutines.SuspendFunction1,arrow.resilience.Schedule.Decision<1:0,1:1>>){}[0] + + final class <#A2: in kotlin/Any?, #B2: out kotlin/Any?> Continue : arrow.resilience/Schedule.Decision<#A2, #B2> { // arrow.resilience/Schedule.Decision.Continue|null[0] + constructor (#B2, kotlin.time/Duration, kotlin.coroutines/SuspendFunction1<#A2, arrow.resilience/Schedule.Decision<#A2, #B2>>) // arrow.resilience/Schedule.Decision.Continue.|(1:1;kotlin.time.Duration;kotlin.coroutines.SuspendFunction1<1:0,arrow.resilience.Schedule.Decision<1:0,1:1>>){}[0] + + final val delay // arrow.resilience/Schedule.Decision.Continue.delay|{}delay[0] + final fun (): kotlin.time/Duration // arrow.resilience/Schedule.Decision.Continue.delay.|(){}[0] + final val output // arrow.resilience/Schedule.Decision.Continue.output|{}output[0] + final fun (): #B2 // arrow.resilience/Schedule.Decision.Continue.output.|(){}[0] + final val step // arrow.resilience/Schedule.Decision.Continue.step|{}step[0] + final fun (): kotlin.coroutines/SuspendFunction1<#A2, arrow.resilience/Schedule.Decision<#A2, #B2>> // arrow.resilience/Schedule.Decision.Continue.step.|(){}[0] + + final fun component1(): #B2 // arrow.resilience/Schedule.Decision.Continue.component1|component1(){}[0] + final fun component2(): kotlin.time/Duration // arrow.resilience/Schedule.Decision.Continue.component2|component2(){}[0] + final fun component3(): kotlin.coroutines/SuspendFunction1<#A2, arrow.resilience/Schedule.Decision<#A2, #B2>> // arrow.resilience/Schedule.Decision.Continue.component3|component3(){}[0] + final fun copy(#B2 = ..., kotlin.time/Duration = ..., kotlin.coroutines/SuspendFunction1<#A2, arrow.resilience/Schedule.Decision<#A2, #B2>> = ...): arrow.resilience/Schedule.Decision.Continue<#A2, #B2> // arrow.resilience/Schedule.Decision.Continue.copy|copy(1:1;kotlin.time.Duration;kotlin.coroutines.SuspendFunction1<1:0,arrow.resilience.Schedule.Decision<1:0,1:1>>){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.resilience/Schedule.Decision.Continue.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.resilience/Schedule.Decision.Continue.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.resilience/Schedule.Decision.Continue.toString|toString(){}[0] + } + + final class <#A2: out kotlin/Any?> Done : arrow.resilience/Schedule.Decision { // arrow.resilience/Schedule.Decision.Done|null[0] + constructor (#A2) // arrow.resilience/Schedule.Decision.Done.|(1:0){}[0] + + final val output // arrow.resilience/Schedule.Decision.Done.output|{}output[0] + final fun (): #A2 // arrow.resilience/Schedule.Decision.Done.output.|(){}[0] + + final fun component1(): #A2 // arrow.resilience/Schedule.Decision.Done.component1|component1(){}[0] + final fun copy(#A2 = ...): arrow.resilience/Schedule.Decision.Done<#A2> // arrow.resilience/Schedule.Decision.Done.copy|copy(1:0){}[0] + final fun equals(kotlin/Any?): kotlin/Boolean // arrow.resilience/Schedule.Decision.Done.equals|equals(kotlin.Any?){}[0] + final fun hashCode(): kotlin/Int // arrow.resilience/Schedule.Decision.Done.hashCode|hashCode(){}[0] + final fun toString(): kotlin/String // arrow.resilience/Schedule.Decision.Done.toString|toString(){}[0] + } + } + + final object Companion { // arrow.resilience/Schedule.Companion|null[0] + final fun <#A2: kotlin/Any?, #B2: kotlin/Any?> unfold(#B2, kotlin.coroutines/SuspendFunction1<#B2, #B2>): arrow.resilience/Schedule<#A2, #B2> // arrow.resilience/Schedule.Companion.unfold|unfold(0:1;kotlin.coroutines.SuspendFunction1<0:1,0:1>){0§;1§}[0] + final fun <#A2: kotlin/Any?> collect(): arrow.resilience/Schedule<#A2, kotlin.collections/List<#A2>> // arrow.resilience/Schedule.Companion.collect|collect(){0§}[0] + final fun <#A2: kotlin/Any?> doUntil(kotlin.coroutines/SuspendFunction2<#A2, #A2, kotlin/Boolean>): arrow.resilience/Schedule<#A2, #A2> // arrow.resilience/Schedule.Companion.doUntil|doUntil(kotlin.coroutines.SuspendFunction2<0:0,0:0,kotlin.Boolean>){0§}[0] + final fun <#A2: kotlin/Any?> doWhile(kotlin.coroutines/SuspendFunction2<#A2, #A2, kotlin/Boolean>): arrow.resilience/Schedule<#A2, #A2> // arrow.resilience/Schedule.Companion.doWhile|doWhile(kotlin.coroutines.SuspendFunction2<0:0,0:0,kotlin.Boolean>){0§}[0] + final fun <#A2: kotlin/Any?> exponential(kotlin.time/Duration, kotlin/Double = ...): arrow.resilience/Schedule<#A2, kotlin.time/Duration> // arrow.resilience/Schedule.Companion.exponential|exponential(kotlin.time.Duration;kotlin.Double){0§}[0] + final fun <#A2: kotlin/Any?> fibonacci(kotlin.time/Duration): arrow.resilience/Schedule<#A2, kotlin.time/Duration> // arrow.resilience/Schedule.Companion.fibonacci|fibonacci(kotlin.time.Duration){0§}[0] + final fun <#A2: kotlin/Any?> forever(): arrow.resilience/Schedule<#A2, kotlin/Long> // arrow.resilience/Schedule.Companion.forever|forever(){0§}[0] + final fun <#A2: kotlin/Any?> identity(): arrow.resilience/Schedule<#A2, #A2> // arrow.resilience/Schedule.Companion.identity|identity(){0§}[0] + final fun <#A2: kotlin/Any?> linear(kotlin.time/Duration): arrow.resilience/Schedule<#A2, kotlin.time/Duration> // arrow.resilience/Schedule.Companion.linear|linear(kotlin.time.Duration){0§}[0] + final fun <#A2: kotlin/Any?> recurs(kotlin/Long): arrow.resilience/Schedule<#A2, kotlin/Long> // arrow.resilience/Schedule.Companion.recurs|recurs(kotlin.Long){0§}[0] + final fun <#A2: kotlin/Any?> spaced(kotlin.time/Duration): arrow.resilience/Schedule<#A2, kotlin/Long> // arrow.resilience/Schedule.Companion.spaced|spaced(kotlin.time.Duration){0§}[0] + } +} + +final object arrow.resilience/SagaActionStep // arrow.resilience/SagaActionStep|null[0] + +final val arrow.resilience.common/platform // arrow.resilience.common/platform|{}platform[0] + final fun (): arrow.resilience.common/Platform // arrow.resilience.common/platform.|(){}[0] + +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.resilience/retry(arrow.resilience/Schedule): kotlinx.coroutines.flow/Flow<#A> // arrow.resilience/retry|retry@kotlinx.coroutines.flow.Flow<0:0>(arrow.resilience.Schedule){0§;1§}[0] +final fun <#A: kotlin/Any?> arrow.resilience/saga(kotlin.coroutines/SuspendFunction1, kotlin.coroutines/SuspendFunction1<#A, kotlin/Unit>): kotlin.coroutines/SuspendFunction1 // arrow.resilience/saga|saga(kotlin.coroutines.SuspendFunction1;kotlin.coroutines.SuspendFunction1<0:0,kotlin.Unit>){0§}[0] +final inline fun <#A: kotlin/Any?> arrow.resilience/saga(noinline kotlin.coroutines/SuspendFunction1): kotlin.coroutines/SuspendFunction1 // arrow.resilience/saga|saga(kotlin.coroutines.SuspendFunction1){0§}[0] +final suspend fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1).arrow.resilience/transact(): #A // arrow.resilience/transact|transact@kotlin.coroutines.SuspendFunction1(){0§}[0] +final suspend fun <#A: kotlin/Throwable, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.resilience/Schedule<#A, #C>).arrow.resilience/retryOrElseEither(kotlin.reflect/KClass<#A>, kotlin.coroutines/SuspendFunction0<#B>, kotlin.coroutines/SuspendFunction2<#A, #C, #D>): arrow.core/Either<#D, #B> // arrow.resilience/retryOrElseEither|retryOrElseEither@arrow.resilience.Schedule<0:0,0:2>(kotlin.reflect.KClass<0:0>;kotlin.coroutines.SuspendFunction0<0:1>;kotlin.coroutines.SuspendFunction2<0:0,0:2,0:3>){0§;1§;2§;3§}[0] +final suspend fun <#A: kotlin/Throwable, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.resilience/Schedule<#A, #C>).arrow.resilience/retryOrElse(kotlin.reflect/KClass<#A>, kotlin.coroutines/SuspendFunction0<#B>, kotlin.coroutines/SuspendFunction2<#A, #C, #B>): #B // arrow.resilience/retryOrElse|retryOrElse@arrow.resilience.Schedule<0:0,0:2>(kotlin.reflect.KClass<0:0>;kotlin.coroutines.SuspendFunction0<0:1>;kotlin.coroutines.SuspendFunction2<0:0,0:2,0:1>){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Throwable, #B: kotlin/Any?> (arrow.resilience/Schedule<#A, *>).arrow.resilience/retry(kotlin.reflect/KClass<#A>, kotlin.coroutines/SuspendFunction0<#B>): #B // arrow.resilience/retry|retry@arrow.resilience.Schedule<0:0,*>(kotlin.reflect.KClass<0:0>;kotlin.coroutines.SuspendFunction0<0:1>){0§;1§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/Raise<#A>).arrow.resilience/retry(arrow.resilience/Schedule<#A, #C>, kotlin/Function1, #B>): #B // arrow.resilience/retry|retry@arrow.core.raise.Raise<0:0>(arrow.resilience.Schedule<0:0,0:2>;kotlin.Function1,0:1>){0§;1§;2§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.resilience/Schedule<#A, #C>).arrow.resilience/retryEither(kotlin/Function0>): arrow.core/Either<#A, #B> // arrow.resilience/retryEither|retryEither@arrow.resilience.Schedule<0:0,0:2>(kotlin.Function0>){0§;1§;2§}[0] +final suspend inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.resilience/Schedule<#A, #C>).arrow.resilience/retryRaise(kotlin/Function1, #B>): arrow.core/Either<#A, #B> // arrow.resilience/retryRaise|retryRaise@arrow.resilience.Schedule<0:0,0:2>(kotlin.Function1,0:1>){0§;1§;2§}[0] +final suspend inline fun <#A: reified kotlin/Throwable, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (arrow.resilience/Schedule<#A, #C>).arrow.resilience/retryOrElseEither(noinline kotlin.coroutines/SuspendFunction0<#B>, noinline kotlin.coroutines/SuspendFunction2<#A, #C, #D>): arrow.core/Either<#D, #B> // arrow.resilience/retryOrElseEither|retryOrElseEither@arrow.resilience.Schedule<0:0,0:2>(kotlin.coroutines.SuspendFunction0<0:1>;kotlin.coroutines.SuspendFunction2<0:0,0:2,0:3>){0§;1§;2§;3§}[0] +final suspend inline fun <#A: reified kotlin/Throwable, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.resilience/Schedule<#A, #C>).arrow.resilience/retryOrElse(noinline kotlin.coroutines/SuspendFunction0<#B>, noinline kotlin.coroutines/SuspendFunction2): #B // arrow.resilience/retryOrElse|retryOrElse@arrow.resilience.Schedule<0:0,0:2>(kotlin.coroutines.SuspendFunction0<0:1>;kotlin.coroutines.SuspendFunction2){0§;1§;2§}[0] +final suspend inline fun <#A: reified kotlin/Throwable, #B: kotlin/Any?> (arrow.resilience/Schedule<#A, *>).arrow.resilience/retry(noinline kotlin.coroutines/SuspendFunction0<#B>): #B // arrow.resilience/retry|retry@arrow.resilience.Schedule<0:0,*>(kotlin.coroutines.SuspendFunction0<0:1>){0§;1§}[0] diff --git a/arrow-libs/resilience/arrow-resilience/build.gradle.kts b/arrow-libs/resilience/arrow-resilience/build.gradle.kts index 678b74b3a37..4335b6a4f5f 100644 --- a/arrow-libs/resilience/arrow-resilience/build.gradle.kts +++ b/arrow-libs/resilience/arrow-resilience/build.gradle.kts @@ -1,9 +1,13 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + + plugins { id(libs.plugins.kotlin.multiplatform.get().pluginId) alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.kotlinx.kover) alias(libs.plugins.spotless) } @@ -19,7 +23,7 @@ kotlin { commonMain { dependencies { api(projects.arrowCore) - compileOnly(libs.kotlin.stdlib) + implementation(libs.kotlin.stdlib) implementation(libs.coroutines.core) } } @@ -39,6 +43,12 @@ kotlin { } } } + + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions { + (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = KotlinVersion.fromVersion(it) } + (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = KotlinVersion.fromVersion(it) } + } } tasks.withType().configureEach { diff --git a/arrow-libs/resilience/arrow-resilience/gradle.properties b/arrow-libs/resilience/arrow-resilience/gradle.properties index 126162eaf97..e534878b7e7 100644 --- a/arrow-libs/resilience/arrow-resilience/gradle.properties +++ b/arrow-libs/resilience/arrow-resilience/gradle.properties @@ -1,2 +1,2 @@ # Maven publishing configuration -pom.name=Arrow-Fx-Resilience \ No newline at end of file +POM_NAME=Arrow-Fx-Resilience \ No newline at end of file diff --git a/arrow-libs/resilience/arrow-resilience/src/commonMain/kotlin/arrow/resilience/Schedule.kt b/arrow-libs/resilience/arrow-resilience/src/commonMain/kotlin/arrow/resilience/Schedule.kt index 71a40eaf4bc..5217ff4702d 100644 --- a/arrow-libs/resilience/arrow-resilience/src/commonMain/kotlin/arrow/resilience/Schedule.kt +++ b/arrow-libs/resilience/arrow-resilience/src/commonMain/kotlin/arrow/resilience/Schedule.kt @@ -3,6 +3,7 @@ package arrow.resilience import arrow.core.Either +import arrow.core.NonFatal import arrow.core.None import arrow.core.Option import arrow.core.identity @@ -26,12 +27,14 @@ import kotlin.experimental.ExperimentalTypeInference import kotlin.jvm.JvmInline import kotlin.math.pow import kotlin.random.Random +import kotlin.reflect.KClass +import kotlin.reflect.cast import kotlin.time.Duration import kotlin.time.Duration.Companion.ZERO import kotlin.time.Duration.Companion.nanoseconds public typealias ScheduleStep = - suspend (Input) -> Schedule.Decision + suspend (Input) -> Decision /** * A [Schedule] describes how a `suspend fun` should [retry] or [repeat]. @@ -406,46 +409,86 @@ public value class Schedule(public val step: ScheduleStep< } /** - * Retries [action] using any [Throwable] that occurred as the input to the [Schedule]. + * Retries [action] using any [E] that occurred as the input to the [Schedule]. * It will throw the last exception if the [Schedule] is exhausted, and ignores the output of the [Schedule]. */ -public suspend fun Schedule.retry(action: suspend () -> A): A = - retryOrElse(action) { e, _ -> throw e } +public suspend inline fun Schedule.retry( + noinline action: suspend () -> A +): A = retry(E::class, action) /** - * Retries [action] using any [Throwable] that occurred as the input to the [Schedule]. + * Retries [action] using any [E] that occurred as the input to the [Schedule]. + * It will throw the last exception if the [Schedule] is exhausted, and ignores the output of the [Schedule]. + */ +public suspend fun Schedule.retry( + exceptionClass: KClass, + action: suspend () -> A +): A = retryOrElse(exceptionClass, action) { e, _ -> throw e } + +/** + * Retries [action] using any [E] that occurred as the input to the [Schedule]. + * If the [Schedule] is exhausted, + * it will invoke [orElse] with the last exception and the output of the [Schedule] to produce a fallback [Input] value. + */ +public suspend inline fun Schedule.retryOrElse( + noinline action: suspend () -> Input, + noinline orElse: suspend (Throwable, Output) -> Input +): Input = retryOrElse(E::class, action, orElse) + +/** + * Retries [action] using any [E] that occurred as the input to the [Schedule]. * If the [Schedule] is exhausted, * it will invoke [orElse] with the last exception and the output of the [Schedule] to produce a fallback [Input] value. */ -public suspend fun Schedule.retryOrElse( +public suspend fun Schedule.retryOrElse( + exceptionClass: KClass, action: suspend () -> Input, - orElse: suspend (Throwable, Output) -> Input -): Input = retryOrElseEither(action, orElse).merge() + orElse: suspend (E, Output) -> Input +): Input = retryOrElseEither(exceptionClass, action, orElse).merge() /** - * Retries [action] using any [Throwable] that occurred as the input to the [Schedule]. + * Retries [action] using any [E] that occurred as the input to the [Schedule]. * If the [Schedule] is exhausted, * it will invoke [orElse] with the last exception and the output of the [Schedule] to produce a fallback value of [A]. * Returns [Either] with the fallback value if the [Schedule] is exhausted, or the successful result of [action]. */ -public suspend fun Schedule.retryOrElseEither( +public suspend inline fun Schedule.retryOrElseEither( + noinline action: suspend () -> Input, + noinline orElse: suspend (E, Output) -> A +): Either = retryOrElseEither(E::class, action, orElse) + +/** + * Retries [action] using any [E] that occurred as the input to the [Schedule]. + * If the [Schedule] is exhausted, + * it will invoke [orElse] with the last exception and the output of the [Schedule] to produce a fallback value of [A]. + * Returns [Either] with the fallback value if the [Schedule] is exhausted, or the successful result of [action]. + */ +public suspend fun Schedule.retryOrElseEither( + exceptionClass: KClass, action: suspend () -> Input, - orElse: suspend (Throwable, Output) -> A + orElse: suspend (E, Output) -> A ): Either { - var step: ScheduleStep = step + var step: ScheduleStep = step while (true) { currentCoroutineContext().ensureActive() try { return Either.Right(action.invoke()) } catch (e: Throwable) { + @Suppress("NAME_SHADOWING") val e = when { + exceptionClass.isInstance(e) -> exceptionClass.cast(e) + else -> throw e + } + when (val decision = step(e)) { is Continue -> { if (decision.delay != ZERO) delay(decision.delay) step = decision.step } - is Done -> return Either.Left(orElse(e.nonFatalOrThrow(), decision.output)) + is Done -> + if (NonFatal(e)) return Either.Left(orElse(e, decision.output)) + else throw e } } } diff --git a/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/FlowTest.kt b/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/FlowTest.kt index 86e8d99ba7a..7cb02e022d8 100644 --- a/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/FlowTest.kt +++ b/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/FlowTest.kt @@ -13,7 +13,6 @@ import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertFailsWith import kotlin.test.assertTrue -import kotlin.test.fail import kotlin.time.Duration.Companion.milliseconds @OptIn(ExperimentalCoroutinesApi::class) @@ -79,12 +78,5 @@ class FlowTest { } } -inline fun assertThrowable(executable: () -> A): Throwable { - val a = try { - executable.invoke() - } catch (e: Throwable) { - e - } - - return if (a is Throwable) a else fail("Expected an exception but found: $a") -} +inline fun assertThrowable(executable: () -> Unit): Throwable = + assertThrows(executable) diff --git a/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/ScheduleTest.kt b/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/ScheduleTest.kt index db290885e27..3330d0ab1e0 100644 --- a/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/ScheduleTest.kt +++ b/arrow-libs/resilience/arrow-resilience/src/commonTest/kotlin/arrow/resilience/ScheduleTest.kt @@ -9,7 +9,6 @@ import arrow.resilience.Schedule.Decision.Continue import arrow.resilience.Schedule.Decision.Done import kotlinx.coroutines.test.TestResult import kotlinx.coroutines.test.runTest -import kotlinx.coroutines.withTimeout import kotlin.math.pow import kotlin.test.Test import kotlin.test.assertContentEquals @@ -269,15 +268,99 @@ class ScheduleTest { .doUntil { _, output -> output > 50.0.milliseconds } .doUntil { input, _ -> input is IllegalStateException } - val result: Either = withTimeout(10.seconds) { - schedule.retryOrElseEither({ - throw ex - }, { t, _ -> t }) - } + val result: Either = schedule.retryOrElseEither({ + throw ex + }, { t, _ -> t }) result.fold({ assertEquals(ex, it) }, { fail("The impossible happened") }) } + @Test + fun rethrowsUnmatchedException(): TestResult = runTest { + val ex = Throwable("Hello") + + val e = assertThrowable { + Schedule.forever() + .retry { throw ex } + } + assertEquals(ex, e) + } + + @Test + fun captureException(): TestResult = runTest { + val ex = IllegalStateException("Hello") + val buffer = mutableListOf() + + assertThrows { + Schedule.recurs(2) + .log { e, _ -> buffer.add(e) } + .retry { throw ex } + } + + assertEquals(listOf(ex, ex), buffer) + } + + @Test + fun captureExceptionDifferentInput(): TestResult = runTest { + val ex = IllegalStateException("Hello") + val buffer = mutableListOf() + + assertThrows { + Schedule.recurs(2) + .log { e, _ -> buffer.add(e) } + .retry { throw ex } + } + + assertEquals>(listOf(ex, ex), buffer) + } + + @Test + fun notCaptureExceptionDifferentInput(): TestResult = runTest { + val ex = IllegalStateException("Hello") + val buffer = mutableListOf() + + assertThrows { + Schedule.recurs(2) + .log { e, _ -> buffer.add(e) } + .retry { throw ex } + } + + assertEquals(emptyList(), buffer) + } + + @Test + fun retriesMatchedException(): TestResult = runTest { + val ex = IllegalStateException("Hello") + var count = 0 + + val i = Schedule.forever() + .retry { if (count++ == 0) throw ex else 1 } + + assertEquals(1, i) + } + + @Test + fun retriesMatchedExceptionDifferentInput(): TestResult = runTest { + val ex = IllegalStateException("Hello") + var count = 0 + + val i = Schedule.forever() + .retry { if (count++ == 0) throw ex else 1 } + + assertEquals(1, i) + } + + @Test + fun notRetriesMatchedExceptionDifferentInput(): TestResult = runTest { + val ex = IllegalStateException("Hello") + var count = 0 + + assertThrows { + Schedule.forever() + .retry { if (count++ == 0) throw ex else 1 } + } + } + @Test fun retryRaiseIsStackSafe(): TestResult = runTest { val count = AtomicLong(0) @@ -401,3 +484,13 @@ private suspend fun checkRepeat(schedule: Schedule>, expected: } private object CustomError + +inline fun assertThrows(executable: () -> Unit): A { + val a = try { + executable.invoke() + } catch (e: Throwable) { + e + } + + return if (a is A) a else fail("Expected an exception but found: $a") +} diff --git a/arrow-libs/stack/build.gradle.kts b/arrow-libs/stack/build.gradle.kts index 59d50419fec..fdd58621d92 100644 --- a/arrow-libs/stack/build.gradle.kts +++ b/arrow-libs/stack/build.gradle.kts @@ -2,7 +2,7 @@ plugins { `java-platform` - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) } @@ -28,5 +28,6 @@ dependencies { api("io.arrow-kt:arrow-optics-compose:$version") api("io.arrow-kt:arrow-optics-reflect:$version") api("io.arrow-kt:arrow-optics-ksp-plugin:$version") + api("io.arrow-kt:arrow-match:$version") } } diff --git a/arrow-libs/stack/gradle.properties b/arrow-libs/stack/gradle.properties index 5c805c3b564..c21e068e288 100644 --- a/arrow-libs/stack/gradle.properties +++ b/arrow-libs/stack/gradle.properties @@ -1,2 +1,2 @@ # Maven publishing configuration -pom.name=Arrow Stack +POM_NAME=Arrow Stack diff --git a/build.gradle.kts b/build.gradle.kts index f45928a16f2..f7fa301b1ec 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,16 +1,25 @@ @file:Suppress("DSL_SCOPE_VIOLATION") import kotlinx.knit.KnitPluginExtension +import kotlinx.validation.ExperimentalBCVApi import org.jetbrains.dokka.gradle.DokkaMultiModuleTask import org.jetbrains.dokka.gradle.DokkaTaskPartial +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion + +allprojects { + if (property("version") == "unspecified") { + setProperty("version", "2.0.0-SNAPSHOT") + } +} buildscript { repositories { mavenCentral() - maven(url = "https://oss.sonatype.org/content/repositories/snapshots/") - maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap") + google() + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") } dependencies { @@ -21,17 +30,9 @@ buildscript { allprojects { repositories { mavenCentral() - maven(url = "https://oss.sonatype.org/content/repositories/snapshots/") (project.rootProject.properties["kotlin_repo_url"] as? String)?.also { maven(it) } - } - - tasks { - withType { - kotlinOptions { - (project.rootProject.properties["kotlin_language_version"] as? String)?.also { languageVersion = it } - (project.rootProject.properties["kotlin_api_version"] as? String)?.also { apiVersion = it } - } - } + google() + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") } } @@ -44,13 +45,13 @@ plugins { alias(libs.plugins.kotlin.multiplatform) apply false alias(libs.plugins.kotlinx.serialization) apply false alias(libs.plugins.kotlin.binaryCompatibilityValidator) - alias(libs.plugins.arrowGradleConfig.nexus) alias(libs.plugins.spotless) apply false - alias(libs.plugins.jetbrainsCompose) apply false + alias(libs.plugins.publish) apply false + alias(libs.plugins.compose.jetbrains) apply false + alias(libs.plugins.compose.compiler) apply false + alias(libs.plugins.kotlinx.knit) } -apply(plugin = libs.plugins.kotlinx.knit.get().pluginId) - configure { siteRoot = "https://arrow-kt.io/" rootDir = file("arrow-libs") @@ -66,16 +67,19 @@ configure { dependencies { kover(projects.arrowAtomic) + kover(projects.arrowAutoclose) kover(projects.arrowCore) kover(projects.arrowCoreHighArity) kover(projects.arrowCoreRetrofit) kover(projects.arrowCoreSerialization) + kover(projects.arrowCache4k) kover(projects.arrowFunctions) kover(projects.arrowFxCoroutines) kover(projects.arrowFxStm) kover(projects.arrowOptics) kover(projects.arrowOpticsKspPlugin) kover(projects.arrowOpticsReflect) + kover(projects.arrowOpticsCompose) kover(projects.arrowResilience) kover(projects.arrowCollectors) kover(projects.arrowEval) @@ -85,41 +89,49 @@ allprojects { group = property("projects.group").toString() } +private val kotlinXUpstream = + setOf( + "arrow-fx-coroutines", + "arrow-resilience", + "arrow-fx-stm", + "arrow-collectors" + ) + subprojects { - this@subprojects.tasks.withType().configureEach { - this@subprojects.extensions.findByType()?.sourceSets?.forEach { kotlinSourceSet -> + tasks.withType().configureEach { + extensions.findByType()?.sourceSets?.forEach { kotlinSourceSet -> dokkaSourceSets.named(kotlinSourceSet.name) { perPackageOption { matchingRegex.set(".*\\.internal.*") suppress.set(true) } - if (project.name == "arrow-fx-coroutines") externalDocumentationLink("https://kotlinlang.org/api/kotlinx.coroutines/") + if (project.name in kotlinXUpstream) externalDocumentationLink("https://kotlinlang.org/api/kotlinx.coroutines/") skipDeprecated.set(true) reportUndocumented.set(false) - val baseUrl: String = checkNotNull(properties["pom.smc.url"]?.toString()) kotlinSourceSet.kotlin.srcDirs.filter { it.exists() }.forEach { srcDir -> sourceLink { localDirectory.set(srcDir) - remoteUrl.set(uri("$baseUrl/blob/main/${srcDir.relativeTo(rootProject.rootDir)}").toURL()) +remoteUrl.set(uri("https://github.com/arrow-kt/arrow/blob/main/${srcDir.relativeTo(rootProject.rootDir)}").toURL()) remoteLineSuffix.set("#L") } } } } } - - tasks.withType { - dependsOn(tasks.withType()) - } } tasks { val undocumentedProjects = listOf(project(":arrow-optics-ksp-plugin")) + val copyCNameFile = register("copyCNameFile") { + from(layout.projectDirectory.dir("static").file("CNAME")) + into(layout.projectDirectory.dir("docs")) + } + dokkaHtmlMultiModule { - dependsOn("copyCNameFile") + dependsOn(copyCNameFile) removeChildTasks(undocumentedProjects) } @@ -129,13 +141,10 @@ tasks { outputDirectory.set(file("docs")) moduleName.set("Arrow") } - - register("copyCNameFile") { - from(layout.projectDirectory.dir("static").file("CNAME")) - into(layout.projectDirectory.dir("docs")) - } } apiValidation { ignoredProjects.add("arrow-optics-ksp-plugin") + @OptIn(ExperimentalBCVApi::class) + klib.enabled = true } diff --git a/gradle.properties b/gradle.properties index 4bc9a0ebb16..b427106fc2d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,41 +1,39 @@ # Package definitions projects.group=io.arrow-kt +projects.version=2.0.0-SNAPSHOT + +enable_wasm=true + # Pomfile definitions -pom.description=Functional companion to Kotlin's Standard Library -pom.url=https://github.com/arrow-kt/arrow/ -pom.license.name=The Apache Software License, Version 2.0 -pom.license.url=https://www.apache.org/licenses/LICENSE-2.0.txt -pom.developer.id=arrow-kt -pom.developer.name=The Arrow Authors -pom.smc.url=https://github.com/arrow-kt/arrow/ -pom.smc.connection=scm:git:git://github.com/arrow-kt/arrow.git -pom.smc.developerConnection=scm:git:ssh://git@github.com/arrow-kt/arrow.git +#RELEASE_SIGNING_ENABLED=true + +POM_DESCRIPTION=Functional companion to Kotlin's Standard Library +POM_URL=https://github.com/arrow-kt/arrow/ + +POM_LICENSE_NAME=The Apache Software License, Version 2.0 +POM_LICENSE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt +POM_LICENSE_DIST=repo + +POM_DEVELOPER_ID=arrow-kt +POM_DEVELOPER_NAME=The Arrow Authors +POM_DEVELOPER_URL=https://github.com/arrow/ + +POM_SCM_URL=https://github.com/arrow-kt/arrow/ +POM_SCM_CONNECTION=scm:git:git://github.com/arrow-kt/arrow.git +POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/arrow-kt/arrow.git + # Gradle options org.gradle.jvmargs=-Xmx4g org.gradle.parallel=true + # To disable publishing of sha-512 checksums for maven-metadata.xml files systemProp.org.gradle.internal.publish.checksums.insecure=true + # Kotlin configuration -kotlin.incremental=true -# Kotlin Test configuration -#Parallelism needs to be set to 1 since the concurrent tests in arrow-effects become flaky otherwise -kotest.framework.parallelism=1 -kapt.incremental.apt=false kotlin.stdlib.default.dependency=false -kotlin.mpp.stability.nowarn=true -# https://youtrack.jetbrains.com/issue/KT-32476 -kotlin.native.ignoreIncorrectDependencies=true -kotlin.native.ignoreDisabledTargets=true -# kotlin.native.cacheKind.linuxX64=none -# https://youtrack.jetbrains.com/issue/KT-45545#focus=Comments-27-4773544.0-0 -kapt.use.worker.api=false kotlin.mpp.applyDefaultHierarchyTemplate=false -COMMON_SETUP=../gradle/setup.gradle -ROOT_PROJECT=../gradle/main.gradle ANIMALSNIFFER=../../gradle/animalsniffer.gradle ANIMALSNIFFER_MPP=../../gradle/animalsniffer-mpp.gradle -dokkaEnabled=false - -android.useAndroidX=true \ No newline at end of file +android.useAndroidX=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3b54dbfeb00..7e718d376d1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,27 +1,27 @@ [versions] animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" -coroutines = "1.8.0" -classgraph = "4.8.172" +coroutines = "1.9.0" +classgraph = "4.8.177" dokka = "1.9.20" -kotest = "5.8.1" -kover = "0.7.6" -kotlin = "1.9.23" -kotlinxSerializationPlugin = "1.9.23" -kotlinBinaryCompatibilityValidator = "0.14.0" -kotlinCompileTesting = "0.4.1" +kotest = "5.9.1" +kover = "0.8.3" +kotlin = "2.0.21" +kotlinBinaryCompatibilityValidator = "0.16.3" +kotlinCompileTesting = "0.5.1" knit = "0.5.0" -kspVersion = "1.9.23-1.0.20" -kotlinxSerialization = "1.6.3" +kspVersion = "2.0.21-1.0.26" +kotlinxSerialization = "1.7.3" mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" -compose = "1.6.6" -composePlugin = "1.6.2" -agp = "8.3.2" +compose = "1.7.4" +composePlugin = "1.7.0" +agp = "8.7.1" android-compileSdk = "34" cache4k = "0.13.0" +publish="0.30.0" [libraries] coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } @@ -52,17 +52,17 @@ cache4k = { module = "io.github.reactivecircus.cache4k:cache4k", version.ref = " animalSniffer = { id = "ru.vyarus.animalsniffer", version.ref = "animalSniffer" } arrowGradleConfig-formatter = { id = "io.arrow-kt.arrow-gradle-config-formatter", version.ref = "arrowGradleConfig" } arrowGradleConfig-kotlin = { id = "io.arrow-kt.arrow-gradle-config-kotlin", version.ref = "arrowGradleConfig" } -arrowGradleConfig-nexus = { id = "io.arrow-kt.arrow-gradle-config-nexus", version.ref = "arrowGradleConfig" } arrowGradleConfig-publish = { id = "io.arrow-kt.arrow-gradle-config-publish", version.ref = "arrowGradleConfig" } -arrowGradleConfig-versioning = { id = "io.arrow-kt.arrow-gradle-config-versioning", version.ref = "arrowGradleConfig" } +publish = { id = "com.vanniktech.maven.publish", version.ref="publish" } dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlin-binaryCompatibilityValidator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "kotlinBinaryCompatibilityValidator" } kotlinx-knit = { id = "org.jetbrains.kotlinx.knit", version.ref = "knit" } kotlinx-kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" } -kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlinxSerializationPlugin" } +kotlinx-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "kspVersion" } spotless = { id = "com.diffplug.spotless", version.ref = "spotlessVersion" } -jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "composePlugin" } +compose-jetbrains = { id = "org.jetbrains.compose", version.ref = "composePlugin" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } android-library = { id = "com.android.library", version.ref = "agp" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f3d..a4b76b9530d 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b82aa23a4f0..df97d72b8b9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a42690..f5feea6d6b1 100755 --- a/gradlew +++ b/gradlew @@ -15,6 +15,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # +# SPDX-License-Identifier: Apache-2.0 +# ############################################################################## # @@ -55,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -84,7 +86,8 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s +' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/gradlew.bat b/gradlew.bat index 7101f8e4676..9b42019c791 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -13,6 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem @if "%DEBUG%"=="" @echo off @rem ########################################################################## diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index 414d13d1d65..ee3d1a2bcad 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -21,11 +21,16 @@ "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": +"@jridgewell/resolve-uri@^3.0.3": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + "@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" @@ -39,18 +44,23 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": +"@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== -"@jridgewell/trace-mapping@^0.3.17": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== +"@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.20": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" "@jridgewell/trace-mapping@^0.3.9": version "0.3.14" @@ -96,10 +106,10 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.52.tgz#7f1f57ad5b741f3d5b210d3b1f145640d89bf8fe" integrity sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ== -"@types/estree@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== +"@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/json-schema@*", "@types/json-schema@^7.0.8": version "7.0.11" @@ -111,10 +121,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.3.tgz#463fc47f13ec0688a33aec75d078a0541a447199" integrity sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ== -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== dependencies: "@webassemblyjs/helper-numbers" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" @@ -129,10 +139,10 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== "@webassemblyjs/helper-numbers@1.11.6": version "1.11.6" @@ -148,15 +158,15 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" "@webassemblyjs/ieee754@1.11.6": version "1.11.6" @@ -177,72 +187,72 @@ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/ieee754" "1.11.6" "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/ast" "1.12.1" "@webassemblyjs/helper-api-error" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" "@webassemblyjs/ieee754" "1.11.6" "@webassemblyjs/leb128" "1.11.6" "@webassemblyjs/utf8" "1.11.6" -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== dependencies: - "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/ast" "1.12.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^2.1.0": +"@webpack-cli/configtest@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== -"@webpack-cli/info@^2.0.1": +"@webpack-cli/info@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== -"@webpack-cli/serve@^2.0.3": +"@webpack-cli/serve@^2.0.5": version "2.0.5" resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== @@ -257,11 +267,6 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - accepts@~1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -270,7 +275,7 @@ accepts@~1.3.4: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.7.6: +acorn-import-assertions@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== @@ -390,15 +395,15 @@ browser-stdout@1.3.1: resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== -browserslist@^4.14.5: - version "4.21.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00" - integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ== +browserslist@^4.21.10: + version "4.23.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== dependencies: - caniuse-lite "^1.0.30001359" - electron-to-chromium "^1.4.172" - node-releases "^2.0.5" - update-browserslist-db "^1.0.4" + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" buffer-from@^1.0.0: version "1.1.2" @@ -423,10 +428,10 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -caniuse-lite@^1.0.30001359: - version "1.0.30001363" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001363.tgz#26bec2d606924ba318235944e1193304ea7c4f15" - integrity sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg== +caniuse-lite@^1.0.30001587: + version "1.0.30001618" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001618.tgz#fad74fa006aef0f01e8e5c0a5540c74d8d36ec6f" + integrity sha512-p407+D1tIkDvsEAPS22lJxLQQaG8OTBEqo0KhzfABGk0TU4juBNDSfH0hyAp/HRyx+M8L17z/ltyhxh27FTfQg== chalk@^4.1.0: version "4.1.2" @@ -560,7 +565,7 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4.3.4, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: +debug@4.3.4, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2, debug@~4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -607,10 +612,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.172: - version "1.4.182" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.182.tgz#5d59214ebfe90b36f23e81cd226a42732cd8c677" - integrity sha512-OpEjTADzGoXABjqobGhpy0D2YsTncAax7IkER68ycc4adaq0dqEG9//9aenKPy7BGA90bqQdLac0dPp6uMkcSg== +electron-to-chromium@^1.4.668: + version "1.4.770" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.770.tgz#a26df8541a7fd92d938a2b42c70ba2502d0e9c62" + integrity sha512-ONwOsDiVvV07CMsyH4+dEaZ9L79HMH/ODHnDS3GkIhgNqdDHJN2C18kFb0fBj0RXpQywsPJl6k2Pqg1IY4r1ig== emoji-regex@^8.0.0: version "8.0.0" @@ -622,15 +627,15 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -engine.io-parser@~5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.4.tgz#0b13f704fa9271b3ec4f33112410d8f3f41d0fc0" - integrity sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg== +engine.io-parser@~5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.2.tgz#37b48e2d23116919a3453738c5720455e64e1c49" + integrity sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw== -engine.io@~6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.2.0.tgz#003bec48f6815926f2b1b17873e576acd54f41d0" - integrity sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg== +engine.io@~6.5.2: + version "6.5.4" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.4.tgz#6822debf324e781add2254e912f8568508850cdc" + integrity sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" @@ -640,13 +645,13 @@ engine.io@~6.2.0: cookie "~0.4.1" cors "~2.8.5" debug "~4.3.1" - engine.io-parser "~5.0.3" - ws "~8.2.3" + engine.io-parser "~5.2.1" + ws "~8.11.0" -enhanced-resolve@^5.13.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== +enhanced-resolve@^5.16.0: + version "5.16.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz#e8bc63d51b826d6f1cbc0a150ecb5a8b0c62e567" + integrity sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -671,6 +676,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escalade@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -842,17 +852,16 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== +glob@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^5.0.1" once "^1.3.0" - path-is-absolute "^1.0.0" glob@^7.1.3, glob@^7.1.7: version "7.2.3" @@ -866,12 +875,12 @@ glob@^7.1.3, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.2.10: +graceful-fs@^4.2.10, graceful-fs@^4.2.11: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -1080,19 +1089,19 @@ karma-sourcemap-loader@0.4.0: dependencies: graceful-fs "^4.2.10" -karma-webpack@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.0.tgz#2a2c7b80163fe7ffd1010f83f5507f95ef39f840" - integrity sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA== +karma-webpack@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.1.tgz#4eafd31bbe684a747a6e8f3e4ad373e53979ced4" + integrity sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ== dependencies: glob "^7.1.3" - minimatch "^3.0.4" + minimatch "^9.0.3" webpack-merge "^4.1.5" -karma@6.4.2: - version "6.4.2" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.2.tgz#a983f874cee6f35990c4b2dcc3d274653714de8e" - integrity sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ== +karma@6.4.3: + version "6.4.3" + resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.3.tgz#763e500f99597218bbb536de1a14acc4ceea7ce8" + integrity sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q== dependencies: "@colors/colors" "1.5.0" body-parser "^1.19.0" @@ -1113,7 +1122,7 @@ karma@6.4.2: qjobs "^1.2.0" range-parser "^1.2.1" rimraf "^3.0.2" - socket.io "^4.4.1" + socket.io "^4.7.2" source-map "^0.6.1" tmp "^0.2.1" ua-parser-js "^0.7.30" @@ -1208,6 +1217,20 @@ minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.3: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.3: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" @@ -1225,10 +1248,10 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" -mocha@10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== +mocha@10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.3.0.tgz#0e185c49e6dccf582035c05fa91084a4ff6e3fe9" + integrity sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg== dependencies: ansi-colors "4.1.1" browser-stdout "1.3.1" @@ -1237,13 +1260,12 @@ mocha@10.2.0: diff "5.0.0" escape-string-regexp "4.0.0" find-up "5.0.0" - glob "7.2.0" + glob "8.1.0" he "1.2.0" js-yaml "4.1.0" log-symbols "4.1.0" minimatch "5.0.1" ms "2.1.3" - nanoid "3.3.3" serialize-javascript "6.0.0" strip-json-comments "3.1.1" supports-color "8.1.1" @@ -1267,11 +1289,6 @@ ms@2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -1282,10 +1299,10 @@ neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -node-releases@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" - integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -1381,10 +1398,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1: version "2.3.1" @@ -1513,7 +1530,7 @@ schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^3.1.2: +schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== @@ -1569,42 +1586,45 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -socket.io-adapter@~2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz#b50a4a9ecdd00c34d4c8c808224daa1a786152a6" - integrity sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg== +socket.io-adapter@~2.5.2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz#4fdb1358667f6d68f25343353bd99bd11ee41006" + integrity sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg== + dependencies: + debug "~4.3.4" + ws "~8.11.0" -socket.io-parser@~4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.1.tgz#01c96efa11ded938dcb21cbe590c26af5eff65e5" - integrity sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g== +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== dependencies: "@socket.io/component-emitter" "~3.1.0" debug "~4.3.1" -socket.io@^4.4.1: - version "4.5.3" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.5.3.tgz#44dffea48d7f5aa41df4a66377c386b953bc521c" - integrity sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg== +socket.io@^4.7.2: + version "4.7.5" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.7.5.tgz#56eb2d976aef9d1445f373a62d781a41c7add8f8" + integrity sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA== dependencies: accepts "~1.3.4" base64id "~2.0.0" + cors "~2.8.5" debug "~4.3.2" - engine.io "~6.2.0" - socket.io-adapter "~2.4.0" - socket.io-parser "~4.2.0" + engine.io "~6.5.2" + socket.io-adapter "~2.5.2" + socket.io-parser "~4.2.4" source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-loader@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-4.0.1.tgz#72f00d05f5d1f90f80974eda781cbd7107c125f2" - integrity sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA== +source-map-loader@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-5.0.0.tgz#f593a916e1cc54471cfc8851b905c8a845fc7e38" + integrity sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA== dependencies: - abab "^2.0.6" iconv-lite "^0.6.3" source-map-js "^1.0.2" @@ -1685,21 +1705,21 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terser-webpack-plugin@^5.3.7: - version "5.3.9" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" - integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== dependencies: - "@jridgewell/trace-mapping" "^0.3.17" + "@jridgewell/trace-mapping" "^0.3.20" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.1" - terser "^5.16.8" + terser "^5.26.0" -terser@^5.16.8: - version "5.18.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.18.2.tgz#ff3072a0faf21ffd38f99acc9a0ddf7b5f07b948" - integrity sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w== +terser@^5.26.0: + version "5.31.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.0.tgz#06eef86f17007dbad4593f11a574c7f5eb02c6a1" + integrity sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -1733,10 +1753,10 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typescript@5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" - integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== +typescript@5.4.3: + version "5.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" + integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg== ua-parser-js@^0.7.30: version "0.7.32" @@ -1753,13 +1773,13 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" - integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== +update-browserslist-db@^1.0.13: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" + escalade "^3.1.2" + picocolors "^1.0.1" uri-js@^4.2.2: version "4.4.1" @@ -1783,23 +1803,23 @@ void-elements@^2.0.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== +watchpack@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" + integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webpack-cli@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.0.tgz#abc4b1f44b50250f2632d8b8b536cfe2f6257891" - integrity sha512-a7KRJnCxejFoDpYTOwzm5o21ZXMaNqtRlvS183XzGDUPRdVEzJNImcQokqYZ8BNTnk9DkKiuWxw75+DCCoZ26w== +webpack-cli@5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^2.1.0" - "@webpack-cli/info" "^2.0.1" - "@webpack-cli/serve" "^2.0.3" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" colorette "^2.0.14" commander "^10.0.1" cross-spawn "^7.0.3" @@ -1830,34 +1850,34 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@5.82.0: - version "5.82.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.82.0.tgz#3c0d074dec79401db026b4ba0fb23d6333f88e7d" - integrity sha512-iGNA2fHhnDcV1bONdUu554eZx+XeldsaeQ8T67H6KKHl2nUSwX8Zm7cmzOA46ox/X1ARxf7Bjv8wQ/HsB5fxBg== +webpack@5.91.0: + version "5.91.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.0" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.13.0" + enhanced-resolve "^5.16.0" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" + graceful-fs "^4.2.11" json-parse-even-better-errors "^2.3.1" loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.2" + schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.3.7" - watchpack "^2.4.0" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" webpack-sources "^3.2.3" which@^1.2.1: @@ -1898,10 +1918,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -ws@~8.2.3: - version "8.2.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" - integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== +ws@~8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== y18n@^5.0.5: version "5.0.8" diff --git a/settings.gradle.kts b/settings.gradle.kts index 3fcebadcb2c..8500aca8674 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id("com.gradle.develocity") version "3.17.2" + id("com.gradle.develocity") version "3.18.1" id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") } @@ -102,10 +102,8 @@ project(":arrow-optics").projectDir = file("arrow-libs/optics/arrow-optics") include("arrow-optics-reflect") project(":arrow-optics-reflect").projectDir = file("arrow-libs/optics/arrow-optics-reflect") -if (kotlin_version.isNullOrBlank() || "2.0" !in kotlin_version!!) { - include("arrow-optics-compose") - project(":arrow-optics-compose").projectDir = file("arrow-libs/optics/arrow-optics-compose") -} +include("arrow-optics-compose") +project(":arrow-optics-compose").projectDir = file("arrow-libs/optics/arrow-optics-compose") include("arrow-optics-ksp-plugin") project(":arrow-optics-ksp-plugin").projectDir = file("arrow-libs/optics/arrow-optics-ksp-plugin")