From 2860c124f9628af4cdf1cb2bddae2f7484697cf4 Mon Sep 17 00:00:00 2001 From: Simon Vergauwen Date: Fri, 26 Apr 2024 13:52:33 +0200 Subject: [PATCH 01/67] Maven Publish Plugin (#3410) Co-authored-by: Alejandro Serrano --- .github/unused_workflows/publish.yml | 161 ------------------ .github/workflows/publish.yml | 20 +-- .../core/arrow-annotations/build.gradle.kts | 2 +- .../core/arrow-annotations/gradle.properties | 2 +- arrow-libs/core/arrow-atomic/build.gradle.kts | 2 +- .../core/arrow-atomic/gradle.properties | 2 +- .../core/arrow-autoclose/build.gradle.kts | 2 +- .../core/arrow-autoclose/gradle.properties | 2 +- .../core/arrow-cache4k/build.gradle.kts | 2 +- .../core/arrow-cache4k/gradle.properties | 2 +- .../arrow-core-high-arity/build.gradle.kts | 2 +- .../arrow-core-high-arity/gradle.properties | 2 +- .../core/arrow-core-retrofit/build.gradle.kts | 6 +- .../arrow-core-retrofit/gradle.properties | 2 +- .../arrow-core-serialization/build.gradle.kts | 2 +- .../gradle.properties | 2 +- arrow-libs/core/arrow-core/build.gradle.kts | 2 +- arrow-libs/core/arrow-core/gradle.properties | 2 +- arrow-libs/core/arrow-eval/build.gradle.kts | 2 +- arrow-libs/core/arrow-eval/gradle.properties | 2 +- .../core/arrow-functions/build.gradle.kts | 2 +- .../core/arrow-functions/gradle.properties | 2 +- .../fx/arrow-collectors/build.gradle.kts | 2 +- .../fx/arrow-collectors/gradle.properties | 2 +- .../fx/arrow-fx-coroutines/build.gradle.kts | 2 +- .../fx/arrow-fx-coroutines/gradle.properties | 2 +- arrow-libs/fx/arrow-fx-stm/build.gradle.kts | 2 +- arrow-libs/fx/arrow-fx-stm/gradle.properties | 2 +- .../arrow-optics-compose/build.gradle.kts | 4 +- .../arrow-optics-compose/gradle.properties | 2 +- .../arrow-optics-ksp-plugin/build.gradle.kts | 2 +- .../arrow-optics-ksp-plugin/gradle.properties | 2 +- .../arrow-optics-reflect/build.gradle.kts | 2 +- .../arrow-optics-reflect/gradle.properties | 2 +- .../optics/arrow-optics/build.gradle.kts | 2 +- .../optics/arrow-optics/gradle.properties | 2 +- .../arrow-resilience/build.gradle.kts | 4 +- .../arrow-resilience/gradle.properties | 2 +- arrow-libs/stack/build.gradle.kts | 2 +- arrow-libs/stack/gradle.properties | 2 +- build.gradle.kts | 44 +++-- gradle.properties | 46 +++-- gradle/libs.versions.toml | 6 +- 43 files changed, 101 insertions(+), 260 deletions(-) delete mode 100644 .github/unused_workflows/publish.yml 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/publish.yml b/.github/workflows/publish.yml index f4ec030fb4d..965f27ffa20 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 @@ -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/arrow-libs/core/arrow-annotations/build.gradle.kts b/arrow-libs/core/arrow-annotations/build.gradle.kts index cbcaa791e5f..b06c40bd0d9 100644 --- a/arrow-libs/core/arrow-annotations/build.gradle.kts +++ b/arrow-libs/core/arrow-annotations/build.gradle.kts @@ -3,7 +3,7 @@ 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) } 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-atomic/build.gradle.kts b/arrow-libs/core/arrow-atomic/build.gradle.kts index 3db0034dcf0..750a80923ab 100644 --- a/arrow-libs/core/arrow-atomic/build.gradle.kts +++ b/arrow-libs/core/arrow-atomic/build.gradle.kts @@ -5,7 +5,7 @@ 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) } 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/build.gradle.kts b/arrow-libs/core/arrow-autoclose/build.gradle.kts index 8b226eb44c2..eb7de7856a6 100644 --- a/arrow-libs/core/arrow-autoclose/build.gradle.kts +++ b/arrow-libs/core/arrow-autoclose/build.gradle.kts @@ -6,7 +6,7 @@ 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) } 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-cache4k/build.gradle.kts b/arrow-libs/core/arrow-cache4k/build.gradle.kts index 4ab996cb97e..f356e50e5d4 100644 --- a/arrow-libs/core/arrow-cache4k/build.gradle.kts +++ b/arrow-libs/core/arrow-cache4k/build.gradle.kts @@ -3,7 +3,7 @@ plugins { `java-library` id(libs.plugins.kotlin.multiplatform.get().pluginId) - alias(libs.plugins.arrowGradleConfig.publish) + alias(libs.plugins.publish) alias(libs.plugins.spotless) } 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-core-high-arity/build.gradle.kts b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts index f074a6c5b2d..4be415ff55f 100644 --- a/arrow-libs/core/arrow-core-high-arity/build.gradle.kts +++ b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts @@ -5,7 +5,7 @@ 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) } 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-retrofit/build.gradle.kts b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts index 3b632457569..a2591291de5 100644 --- a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts +++ b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts @@ -3,7 +3,7 @@ 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 +18,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) 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/build.gradle.kts b/arrow-libs/core/arrow-core-serialization/build.gradle.kts index 6ba4450f34f..b5032a523d2 100644 --- a/arrow-libs/core/arrow-core-serialization/build.gradle.kts +++ b/arrow-libs/core/arrow-core-serialization/build.gradle.kts @@ -3,7 +3,7 @@ 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) 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/build.gradle.kts b/arrow-libs/core/arrow-core/build.gradle.kts index c1841844ac0..4701e2dbb3a 100644 --- a/arrow-libs/core/arrow-core/build.gradle.kts +++ b/arrow-libs/core/arrow-core/build.gradle.kts @@ -6,7 +6,7 @@ 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) } 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-eval/build.gradle.kts b/arrow-libs/core/arrow-eval/build.gradle.kts index f54932ea495..46c68562995 100644 --- a/arrow-libs/core/arrow-eval/build.gradle.kts +++ b/arrow-libs/core/arrow-eval/build.gradle.kts @@ -3,7 +3,7 @@ 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) } 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/build.gradle.kts b/arrow-libs/core/arrow-functions/build.gradle.kts index 748b9680ca8..a5b7ca4ab7d 100644 --- a/arrow-libs/core/arrow-functions/build.gradle.kts +++ b/arrow-libs/core/arrow-functions/build.gradle.kts @@ -3,7 +3,7 @@ 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) } 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/build.gradle.kts b/arrow-libs/fx/arrow-collectors/build.gradle.kts index 98bd245dbbe..9bd99f8caed 100644 --- a/arrow-libs/fx/arrow-collectors/build.gradle.kts +++ b/arrow-libs/fx/arrow-collectors/build.gradle.kts @@ -5,7 +5,7 @@ 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) } 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-fx-coroutines/build.gradle.kts b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts index 07841a4ff60..dc5673e8672 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts @@ -6,7 +6,7 @@ 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) } 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-stm/build.gradle.kts b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts index a44b7d98dbf..bc604417d2e 100644 --- a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts @@ -6,7 +6,7 @@ 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) } 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/optics/arrow-optics-compose/build.gradle.kts b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts index 4a10435a93a..8182a80d616 100644 --- a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts @@ -12,7 +12,7 @@ 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.android.library) @@ -78,7 +78,7 @@ compose { // 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")) + kotlinCompilerPlugin.set(dependencies.compiler.forKotlin("2.0.0-RC1")) kotlinCompilerPluginArgs.add("suppressKotlinVersionCompatibilityCheck=$kotlinVersion") } } 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-ksp-plugin/build.gradle.kts b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts index fc326c9f5d4..6a8c710024a 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts @@ -3,7 +3,7 @@ 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) } 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-reflect/build.gradle.kts b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts index 34c9a211738..a5f2cbcf692 100644 --- a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts @@ -3,7 +3,7 @@ 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) } 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/build.gradle.kts b/arrow-libs/optics/arrow-optics/build.gradle.kts index 55ad127fd24..d3af169c050 100644 --- a/arrow-libs/optics/arrow-optics/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics/build.gradle.kts @@ -3,7 +3,7 @@ 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) } 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/resilience/arrow-resilience/build.gradle.kts b/arrow-libs/resilience/arrow-resilience/build.gradle.kts index 678b74b3a37..4b3e910d765 100644 --- a/arrow-libs/resilience/arrow-resilience/build.gradle.kts +++ b/arrow-libs/resilience/arrow-resilience/build.gradle.kts @@ -3,7 +3,7 @@ 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 +19,7 @@ kotlin { commonMain { dependencies { api(projects.arrowCore) - compileOnly(libs.kotlin.stdlib) + implementation(libs.kotlin.stdlib) implementation(libs.coroutines.core) } } 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/stack/build.gradle.kts b/arrow-libs/stack/build.gradle.kts index 59d50419fec..fe20d481610 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) } 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..6c5f257483a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,6 +6,12 @@ import org.jetbrains.dokka.gradle.DokkaTaskPartial import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +allprojects { + if (property("version") == "unspecified") { + setProperty("version", "2.0.0-SNAPSHOT") + } +} + buildscript { repositories { mavenCentral() @@ -44,13 +50,12 @@ 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.publish) apply false alias(libs.plugins.jetbrainsCompose) 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") @@ -85,41 +90,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,11 +142,6 @@ tasks { outputDirectory.set(file("docs")) moduleName.set("Arrow") } - - register("copyCNameFile") { - from(layout.projectDirectory.dir("static").file("CNAME")) - into(layout.projectDirectory.dir("docs")) - } } apiValidation { diff --git a/gradle.properties b/gradle.properties index 4bc9a0ebb16..1ec4a579517 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,41 +1,37 @@ # Package definitions projects.group=io.arrow-kt +projects.version=2.0.0-SNAPSHOT + # 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 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3b54dbfeb00..e586364443f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,9 +19,10 @@ moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.6" composePlugin = "1.6.2" -agp = "8.3.2" +agp = "8.2.2" android-compileSdk = "34" cache4k = "0.13.0" +publish="0.28.0" [libraries] coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } @@ -52,9 +53,8 @@ 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" } From 8d0ce46a8d9f444640342022561376aed63d647f Mon Sep 17 00:00:00 2001 From: Phil Davies Date: Sun, 12 May 2024 19:25:09 +0100 Subject: [PATCH 02/67] add arrow-core-serialization SerializersModule (#3413) * feat: add SerializersModule for contextual/root usage of Arrow types not including Option due to type restriction * feat: remove `Any` restriction on `OptionSerializer` allows adding `Option` support to `ArrowModule` --- .../api/arrow-core-serialization.api | 4 + .../core/serialization/OptionSerializer.kt | 9 ++- .../core/serialization/SerializersModule.kt | 13 +++ .../arrow/core/serialization/BackAgainTest.kt | 16 +++- .../arrow/core/serialization/ModuleTest.kt | 81 +++++++++++++++++++ 5 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 arrow-libs/core/arrow-core-serialization/src/commonMain/kotlin/arrow/core/serialization/SerializersModule.kt create mode 100644 arrow-libs/core/arrow-core-serialization/src/commonTest/kotlin/arrow/core/serialization/ModuleTest.kt 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/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) +} From b08c0ac61fa5f5e62ac6ed945da7c48e1c50ae79 Mon Sep 17 00:00:00 2001 From: Sam Pengilly Date: Tue, 14 May 2024 04:08:52 +1000 Subject: [PATCH 03/67] Add accumulate function to IorRaise (#3409) Used to combine errors into the IorRaise state and trigger a Both output in a more convenient way. Previously the only mechanism to do this was to call `bind()` on an `Ior.Both`. --- arrow-libs/core/arrow-core/api/arrow-core.api | 2 ++ .../kotlin/arrow/core/raise/Builders.kt | 9 +++++++- .../kotlin/arrow/core/raise/IorSpec.kt | 23 +++++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 5ad4961fbb0..66d36d47f95 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -895,6 +895,7 @@ public abstract interface annotation class arrow/core/raise/ExperimentalTraceApi 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 +910,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; 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..fa90b8a815d 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 @@ -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/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") + } } From 88c722b95fecdf3a79d70ee0dcd85556b1724087 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Tue, 14 May 2024 17:54:55 +0200 Subject: [PATCH 04/67] Move to Kotlin 2.0-RC3 (#3416) --- .github/workflows/publish.yml | 2 +- .github/workflows/pull_request.yml | 32 +- .gitignore | 4 + .../api/arrow-annotations.klib.api | 27 + .../arrow-atomic/api/arrow-atomic.klib.api | 82 ++ .../api/arrow-autoclose.klib.api | 19 + .../arrow-cache4k/api/arrow-cache4k.klib.api | 17 + .../api/arrow-core-high-arity.klib.api | 66 ++ .../api/arrow-core-serialization.klib.api | 45 + .../core/arrow-core/api/arrow-core.klib.api | 885 ++++++++++++++++++ arrow-libs/core/arrow-core/build.gradle.kts | 4 +- .../core/arrow-eval/api/arrow-eval.klib.api | 96 ++ .../api/arrow-functions.klib.api | 608 ++++++++++++ .../api/arrow-collectors.klib.api | 80 ++ .../api/arrow-fx-coroutines.klib.api | 188 ++++ .../fx/arrow-fx-stm/api/arrow-fx-stm.klib.api | 150 +++ .../api/arrow-optics-compose.klib.api | 16 + .../arrow-optics-compose/build.gradle.kts | 36 +- .../arrow-optics/api/arrow-optics.klib.api | 297 ++++++ .../api/arrow-resilience.klib.api | 219 +++++ build.gradle.kts | 16 +- gradle/libs.versions.toml | 22 +- 22 files changed, 2852 insertions(+), 59 deletions(-) create mode 100644 arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api create mode 100644 arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api create mode 100644 arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api create mode 100644 arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api create mode 100644 arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.klib.api create mode 100644 arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.klib.api create mode 100644 arrow-libs/core/arrow-core/api/arrow-core.klib.api create mode 100644 arrow-libs/core/arrow-eval/api/arrow-eval.klib.api create mode 100644 arrow-libs/core/arrow-functions/api/arrow-functions.klib.api create mode 100644 arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api create mode 100644 arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.klib.api create mode 100644 arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.klib.api create mode 100644 arrow-libs/optics/arrow-optics-compose/api/arrow-optics-compose.klib.api create mode 100644 arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api create mode 100644 arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 965f27ffa20..36e73c38bd9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -43,7 +43,7 @@ jobs: 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() diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index a80b6fcb494..27df80840f1 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -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 @@ -348,7 +318,7 @@ jobs: 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/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..ea9882b154e --- /dev/null +++ b/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api @@ -0,0 +1,27 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +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 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] + final val entries // arrow.optics/OpticsTarget.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // arrow.optics/OpticsTarget.entries.|#static(){}[0] +} +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] +} 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..cf8333be1e9 --- /dev/null +++ b/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api @@ -0,0 +1,82 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, 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 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 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 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 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] +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] 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..986c15df535 --- /dev/null +++ b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api @@ -0,0 +1,19 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, 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-cache4k/api/arrow-cache4k.klib.api b/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api new file mode 100644 index 00000000000..d813ae0ba98 --- /dev/null +++ b/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api @@ -0,0 +1,17 @@ +// 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 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] +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] +} 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..4954dbc7142 --- /dev/null +++ b/arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.klib.api @@ -0,0 +1,66 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, 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] +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] 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..5f99cfc5e59 --- /dev/null +++ b/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.klib.api @@ -0,0 +1,45 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, 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 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 val descriptor // arrow.core.serialization/EitherSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/EitherSerializer.descriptor.|(){}[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 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 val descriptor // arrow.core.serialization/IorSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/IorSerializer.descriptor.|(){}[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 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 val descriptor // arrow.core.serialization/NonEmptyListSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/NonEmptyListSerializer.descriptor.|(){}[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 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 val descriptor // arrow.core.serialization/NonEmptySetSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/NonEmptySetSerializer.descriptor.|(){}[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 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 descriptor // arrow.core.serialization/OptionSerializer.descriptor|{}descriptor[0] + final fun (): kotlinx.serialization.descriptors/SerialDescriptor // arrow.core.serialization/OptionSerializer.descriptor.|(){}[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/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api new file mode 100644 index 00000000000..1d6bf428b11 --- /dev/null +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -0,0 +1,885 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +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 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] + abstract val head // arrow.core/NonEmptyCollection.head|{}head[0] + abstract fun (): #A // arrow.core/NonEmptyCollection.head.|(){}[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 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 val combineError // arrow.core.raise/IorRaise.combineError|{}combineError[0] + final fun (): kotlin/Function2<#A, #A, #A> // arrow.core.raise/IorRaise.combineError.|(){}[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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 val value // arrow.core/Some.value|{}value[0] + final fun (): #A // arrow.core/Some.value.|(){}[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 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 val isTraced // arrow.core.raise/DefaultRaise.isTraced|{}isTraced[0] + final fun (): kotlin/Boolean // arrow.core.raise/DefaultRaise.isTraced.|(){}[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 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/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/flatMap(kotlin/Function1, kotlin.collections/Map<#A, #C>>): kotlin.collections/Map<#A, #C> // arrow.core/flatMap|flatMap@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/mapNotNull(kotlin/Function1, #C?>): kotlin.collections/Map<#A, #C> // arrow.core/mapNotNull|mapNotNull@kotlin.collections.Map<0:0,0:1>(kotlin.Function1,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/Iterable>).arrow.core/unzip(): kotlin/Pair, kotlin.collections/List<#B>> // arrow.core/unzip|unzip@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/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>).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?> (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, #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/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?> (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/Iterable<#C>).arrow.core/unzip(kotlin/Function1<#C, kotlin/Pair<#A, #B>>): kotlin/Pair, kotlin.collections/List<#B>> // arrow.core/unzip|unzip@kotlin.collections.Iterable<0:2>(kotlin.Function1<0:2,kotlin.Pair<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/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/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/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/Either<#A, #A>).arrow.core/merge(): #A // arrow.core/merge|merge@arrow.core.Either<0:0,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 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 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] +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 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] + } + 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] + // 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/Set<#A>) // arrow.core/NonEmptySet.|(1:0;kotlin.collections.Set<1:0>){}[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] + 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] + // 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 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/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] +} +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 fun <#A1: kotlin/Any?> (arrow.core/Either, #A1>).bindNel(): #A1 // arrow.core.raise/RaiseAccumulate.bindNel|bindNel@arrow.core.Either,0:0>(){0§}[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?> withNel(kotlin/Function1>, #A1>): #A1 // arrow.core.raise/RaiseAccumulate.withNel|withNel(kotlin.Function1>,0:0>){0§}[0] + final val raise // arrow.core.raise/RaiseAccumulate.raise|{}raise[0] + final fun (): arrow.core.raise/Raise> // arrow.core.raise/RaiseAccumulate.raise.|(){}[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] +} +sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Either { // arrow.core/Either|null[0] + constructor () // arrow.core/Either.|(){}[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 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 val value // arrow.core/Either.Left.value|{}value[0] + final fun (): #A1 // arrow.core/Either.Left.value.|(){}[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 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 val value // arrow.core/Either.Right.value|{}value[0] + final fun (): #A1 // arrow.core/Either.Right.value.|(){}[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] + 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] + } + open fun toString(): kotlin/String // arrow.core/Either.toString|toString(){}[0] +} +sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Ior { // arrow.core/Ior|null[0] + constructor () // arrow.core/Ior.|(){}[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 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 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 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 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 val value // arrow.core/Ior.Left.value|{}value[0] + final fun (): #A1 // arrow.core/Ior.Left.value.|(){}[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 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 val value // arrow.core/Ior.Right.value|{}value[0] + final fun (): #A1 // arrow.core/Ior.Right.value.|(){}[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] + 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] + } + open fun toString(): kotlin/String // arrow.core/Ior.toString|toString(){}[0] +} +sealed class <#A: out kotlin/Any?> arrow.core/Option { // arrow.core/Option|null[0] + constructor () // arrow.core/Option.|(){}[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] + 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/Function0<#A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function0<0:0>){0§}[0] + final inline fun <#A2: kotlin/Any?> catch(kotlin/Function1>, kotlin/Function0<#A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function1>;kotlin.Function0<0:0>){0§}[0] + } + open fun toString(): kotlin/String // arrow.core/Option.toString|toString(){}[0] +} +sealed class arrow.core.raise/RaiseCancellationException : kotlin.coroutines.cancellation/CancellationException { // arrow.core.raise/RaiseCancellationException|null[0] + constructor (kotlin/Any?, arrow.core.raise/Raise) // arrow.core.raise/RaiseCancellationException.|(kotlin.Any?;arrow.core.raise.Raise){}[0] +} diff --git a/arrow-libs/core/arrow-core/build.gradle.kts b/arrow-libs/core/arrow-core/build.gradle.kts index 4701e2dbb3a..8e4f22c93d9 100644 --- a/arrow-libs/core/arrow-core/build.gradle.kts +++ b/arrow-libs/core/arrow-core/build.gradle.kts @@ -68,12 +68,12 @@ kotlin { } tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" + compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") } // 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-eval/api/arrow-eval.klib.api b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api new file mode 100644 index 00000000000..d84d691d2db --- /dev/null +++ b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api @@ -0,0 +1,96 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, 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?> (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] +sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[0] + abstract class <#A1: out kotlin/Any?> FlatMap : arrow.eval/Eval<#A1> { // arrow.eval/Eval.FlatMap|null[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] + constructor () // arrow.eval/Eval.FlatMap.|(){}[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] + } + abstract fun memoize(): arrow.eval/Eval<#A> // arrow.eval/Eval.memoize|memoize(){}[0] + abstract fun value(): #A // arrow.eval/Eval.value|value(){}[0] + constructor () // arrow.eval/Eval.|(){}[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 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 val thunk // arrow.eval/Eval.Defer.thunk|{}thunk[0] + final fun (): kotlin/Function0> // arrow.eval/Eval.Defer.thunk.|(){}[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 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 val value // arrow.eval/Eval.Later.value|{}value[0] + final fun (): #A1 // arrow.eval/Eval.Later.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 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 val value // arrow.eval/Eval.Now.value|{}value[0] + final fun (): #A1 // arrow.eval/Eval.Now.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] + 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] + } + open fun toString(): kotlin/String // arrow.eval/Eval.toString|toString(){}[0] +} 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..cbf1081a6c8 --- /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, 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/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..a7e24fb7f5c --- /dev/null +++ b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api @@ -0,0 +1,80 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +abstract interface <#A: kotlin/Any?, #B: in kotlin/Any?, #C: out kotlin/Any?> arrow.collectors/CollectorI { // arrow.collectors/CollectorI|null[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] + abstract val characteristics // arrow.collectors/CollectorI.characteristics|{}characteristics[0] + abstract fun (): kotlin.collections/Set // arrow.collectors/CollectorI.characteristics.|(){}[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] + } + 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] +} +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 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 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] + } + final val entries // arrow.collectors/Characteristics.entries|#static{}entries[0] + final fun (): kotlin.enums/EnumEntries // arrow.collectors/Characteristics.entries.|#static(){}[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 object arrow.collectors/Collectors { // arrow.collectors/Collectors|null[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 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 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-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..37ee62ee5ed --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.klib.api @@ -0,0 +1,188 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +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/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 suspend fun await() // arrow.fx.coroutines/CyclicBarrier.await|await(){}[0] + final suspend fun reset() // arrow.fx.coroutines/CyclicBarrier.reset|reset(){}[0] + final val capacity // arrow.fx.coroutines/CyclicBarrier.capacity|{}capacity[0] + final fun (): kotlin/Int // arrow.fx.coroutines/CyclicBarrier.capacity.|(){}[0] +} +final class arrow.fx.coroutines/CyclicBarrierCancellationException : kotlin.coroutines.cancellation/CancellationException { // arrow.fx.coroutines/CyclicBarrierCancellationException|null[0] + constructor () // arrow.fx.coroutines/CyclicBarrierCancellationException.|(){}[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 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 object arrow.fx.coroutines/AcquireStep // arrow.fx.coroutines/AcquireStep|null[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?> arrow.fx.coroutines/resourceScope(kotlin.coroutines/SuspendFunction1): #A // arrow.fx.coroutines/resourceScope|resourceScope(kotlin.coroutines.SuspendFunction1){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] +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] +} +sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?> arrow.fx.coroutines/Race3 { // arrow.fx.coroutines/Race3|null[0] + constructor () // arrow.fx.coroutines/Race3.|(){}[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 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 val winner // arrow.fx.coroutines/Race3.First.winner|{}winner[0] + final fun (): #A1 // arrow.fx.coroutines/Race3.First.winner.|(){}[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 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 val winner // arrow.fx.coroutines/Race3.Second.winner|{}winner[0] + final fun (): #A1 // arrow.fx.coroutines/Race3.Second.winner.|(){}[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 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] + final val winner // arrow.fx.coroutines/Race3.Third.winner|{}winner[0] + final fun (): #A1 // arrow.fx.coroutines/Race3.Third.winner.|(){}[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] +} +sealed class arrow.fx.coroutines/ExitCase { // arrow.fx.coroutines/ExitCase|null[0] + constructor () // arrow.fx.coroutines/ExitCase.|(){}[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 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 val exception // arrow.fx.coroutines/ExitCase.Cancelled.exception|{}exception[0] + final fun (): kotlin.coroutines.cancellation/CancellationException // arrow.fx.coroutines/ExitCase.Cancelled.exception.|(){}[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 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 val failure // arrow.fx.coroutines/ExitCase.Failure.failure|{}failure[0] + final fun (): kotlin/Throwable // arrow.fx.coroutines/ExitCase.Failure.failure.|(){}[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] + } +} 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..1012de630f5 --- /dev/null +++ b/arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.klib.api @@ -0,0 +1,150 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, 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] + 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>).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>).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 copy(arrow.fx.stm.internal/Hamt> = ..., kotlin/Function1<#A, kotlin/Int> = ...): arrow.fx.stm/TMap<#A, #B> // arrow.fx.stm/TMap.copy|copy(arrow.fx.stm.internal.Hamt>;kotlin.Function1<1:0,kotlin.Int>){}[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 copy(kotlin/Array> = ...): arrow.fx.stm/TArray<#A> // arrow.fx.stm/TArray.copy|copy(kotlin.Array>){}[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 copy(arrow.fx.stm/TVar> = ...): arrow.fx.stm/TMVar<#A> // arrow.fx.stm/TMVar.copy|copy(arrow.fx.stm.TVar>){}[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 copy(arrow.fx.stm/TVar> = ..., arrow.fx.stm/TVar> = ...): arrow.fx.stm/TQueue<#A> // arrow.fx.stm/TQueue.copy|copy(arrow.fx.stm.TVar>;arrow.fx.stm.TVar>){}[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 copy(arrow.fx.stm.internal/Hamt<#A> = ..., kotlin/Function1<#A, kotlin/Int> = ...): arrow.fx.stm/TSet<#A> // arrow.fx.stm/TSet.copy|copy(arrow.fx.stm.internal.Hamt<1:0>;kotlin.Function1<1:0,kotlin.Int>){}[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 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 suspend fun unsafeRead(): #A // arrow.fx.stm/TVar.unsafeRead|unsafeRead(){}[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 copy(arrow.fx.stm/TVar = ...): arrow.fx.stm/TSemaphore // arrow.fx.stm/TSemaphore.copy|copy(arrow.fx.stm.TVar){}[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 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 object arrow.fx.stm.internal/RetryException : kotlin/Throwable // arrow.fx.stm.internal/RetryException|null[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/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..031ac5e6b9f --- /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, 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/build.gradle.kts b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts index 8182a80d616..b400c9d5be6 100644 --- a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts @@ -1,8 +1,5 @@ @file:Suppress("DSL_SCOPE_VIOLATION") -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - - repositories { google() mavenCentral() @@ -14,18 +11,23 @@ plugins { // alias(libs.plugins.arrowGradleConfig.kotlin) 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() @@ -74,12 +76,11 @@ 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-RC1")) - kotlinCompilerPluginArgs.add("suppressKotlinVersionCompatibilityCheck=$kotlinVersion") + ext["suppressKotlinVersionCompatibilityCheck"] = kotlinVersion } } @@ -93,3 +94,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/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api new file mode 100644 index 00000000000..59dc1ed5249 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -0,0 +1,297 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +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] + 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] + } + 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] +} +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] + 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] + } + 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] +} +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] + 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] + } + 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] +} +abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics.typeclasses/Snoc { // arrow.optics.typeclasses/Snoc|null[0] + abstract fun snoc(): arrow.optics/PPrism<#A, #A, kotlin/Pair<#A, #B>, kotlin/Pair<#A, #B>> // arrow.optics.typeclasses/Snoc.snoc|snoc(){}[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] + } + 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] + 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 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] + 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] + } + 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] +} +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] + 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] + } + 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] +} +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] + 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] + } + 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] +} +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] + final object Companion { // arrow.optics/PPrism.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/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] + } + 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] +} +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] + 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] + } + 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?> 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] +} +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 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/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/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?> (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/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?> (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 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/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] +open annotation class arrow.optics/OpticsCopyMarker : kotlin/Annotation { // arrow.optics/OpticsCopyMarker|null[0] + constructor () // arrow.optics/OpticsCopyMarker.|(){}[0] +} 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..2482e016740 --- /dev/null +++ b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api @@ -0,0 +1,219 @@ +// Klib ABI Dump +// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// Rendering settings: +// - Signature version: 2 +// - Show manifest properties: true +// - Show declarations: true + +// Library unique name: +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 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] + } + 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 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 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] + sealed class OpeningStrategy { // arrow.resilience/CircuitBreaker.OpeningStrategy|null[0] + constructor () // arrow.resilience/CircuitBreaker.OpeningStrategy.|(){}[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 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 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 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 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] + } + 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] + } + } + 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] + constructor () // arrow.resilience/CircuitBreaker.State.|(){}[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 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 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 class Open : arrow.resilience/CircuitBreaker.State { // arrow.resilience/CircuitBreaker.State.Open|null[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 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 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 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 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] + 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 <#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 object arrow.resilience/SagaActionStep // arrow.resilience/SagaActionStep|null[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.resilience/Schedule).arrow.resilience/retryOrElseEither(kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction2): arrow.core/Either<#C, #A> // arrow.resilience/retryOrElseEither|retryOrElseEither@arrow.resilience.Schedule(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction2){0§;1§;2§}[0] +final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.resilience/Schedule).arrow.resilience/retryOrElse(kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction2): #A // arrow.resilience/retryOrElse|retryOrElse@arrow.resilience.Schedule(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction2){0§;1§}[0] +final suspend fun <#A: kotlin/Any?> (arrow.resilience/Schedule).arrow.resilience/retry(kotlin.coroutines/SuspendFunction0<#A>): #A // arrow.resilience/retry|retry@arrow.resilience.Schedule(kotlin.coroutines.SuspendFunction0<0:0>){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 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 val arrow.resilience.common/platform // arrow.resilience.common/platform|{}platform[0] + final fun (): arrow.resilience.common/Platform // arrow.resilience.common/platform.|(){}[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 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 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 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] + 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] + 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] + 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 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 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 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 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 val output // arrow.resilience/Schedule.Decision.Done.output|{}output[0] + final fun (): #A2 // arrow.resilience/Schedule.Decision.Done.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] + } +} +open annotation class arrow.resilience/SagaDSLMarker : kotlin/Annotation { // arrow.resilience/SagaDSLMarker|null[0] + constructor () // arrow.resilience/SagaDSLMarker.|(){}[0] +} diff --git a/build.gradle.kts b/build.gradle.kts index 6c5f257483a..3dfeac8dc7d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,9 +1,11 @@ @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.dsl.KotlinProjectExtension +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile allprojects { @@ -33,9 +35,9 @@ allprojects { 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 } + 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) } } } } @@ -52,7 +54,8 @@ plugins { alias(libs.plugins.kotlin.binaryCompatibilityValidator) alias(libs.plugins.spotless) apply false alias(libs.plugins.publish) apply false - alias(libs.plugins.jetbrainsCompose) apply false + alias(libs.plugins.compose.jetbrains) apply false + alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.kotlinx.knit) } @@ -71,16 +74,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) @@ -146,4 +152,6 @@ tasks { apiValidation { ignoredProjects.add("arrow-optics-ksp-plugin") + @OptIn(ExperimentalBCVApi::class) + klib.enabled = true } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e586364443f..87319917ec1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,25 +1,24 @@ [versions] animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" -coroutines = "1.8.0" +coroutines = "1.8.1" classgraph = "4.8.172" dokka = "1.9.20" -kotest = "5.8.1" +kotest = "5.9.0" kover = "0.7.6" -kotlin = "1.9.23" -kotlinxSerializationPlugin = "1.9.23" -kotlinBinaryCompatibilityValidator = "0.14.0" +kotlin = "2.0.0-RC3" +kotlinBinaryCompatibilityValidator = "0.15.0-Beta.2" kotlinCompileTesting = "0.4.1" knit = "0.5.0" -kspVersion = "1.9.23-1.0.20" +kspVersion = "2.0.0-RC2-1.0.20" kotlinxSerialization = "1.6.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.2.2" +compose = "1.6.7" +composePlugin = "1.6.10-rc01" +agp = "8.4.0" android-compileSdk = "34" cache4k = "0.13.0" publish="0.28.0" @@ -61,8 +60,9 @@ kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref 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" } From 30cbd15cfc84daa09b774e0f0b94c46a4ee2a679 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 15 May 2024 12:38:36 +0200 Subject: [PATCH 05/67] Various improvements to optics (#3421) --- .../arrow/optics/plugin/internals/domain.kt | 1 + .../arrow/optics/plugin/internals/dsl.kt | 44 +++++++++---------- .../arrow/optics/plugin/internals/prism.kt | 26 ++--------- .../optics/plugin/internals/processor.kt | 15 +++++-- .../kotlin/arrow/optics/plugin/DSLTests.kt | 44 +++++++++++++++++++ .../optics/arrow-optics/api/arrow-optics.api | 6 +++ .../arrow-optics/api/arrow-optics.klib.api | 3 ++ .../commonMain/kotlin/arrow/optics/Lens.kt | 12 +++++ .../commonMain/kotlin/arrow/optics/Prism.kt | 22 ++++++++++ 9 files changed, 124 insertions(+), 49 deletions(-) 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..7cd9b56cd56 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 @@ -75,6 +75,7 @@ data class Focus( val refinedType: KSType?, val onlyOneSealedSubclass: Boolean = false, val subclasses: List = emptyList(), + val classNameWithParameters: String? = className, ) { val refinedArguments: List get() = refinedType?.arguments?.filter { 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..9cd43ef6eea 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 @@ -36,9 +36,9 @@ private fun processLensSyntax(ele: ADT, foci: List, className: String): S 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} inline val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.lensParamName()}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.lensParamName()} + |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.lensParamName()}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.lensParamName()} + |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.lensParamName()}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.lensParamName()} | """.trimMargin() } @@ -47,9 +47,9 @@ 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} inline fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.lensParamName()}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.lensParamName()}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.lensParamName()}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.lensParamName()}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.lensParamName()}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.lensParamName()}() | """.trimMargin() } @@ -60,9 +60,9 @@ private fun processPrismSyntax(ele: ADT, dsl: SealedClassDsl, className: 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} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.paramName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.paramName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.paramName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} | """.trimMargin() } @@ -74,9 +74,9 @@ 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} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() | """.trimMargin() } @@ -86,11 +86,11 @@ private fun processIsoSyntax(ele: ADT, dsl: ValueClassDsl, className: String): S 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} inline val <__S> $Iso<__S, ${ele.sourceClassName}>.${focus.paramName}: $Iso<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.paramName}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.paramName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.paramName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.paramName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} | """.trimMargin() } @@ -102,11 +102,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} inline fun <__S,$joinedTypeParams> $Iso<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Iso<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() | """.trimMargin() } 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..e7c2f41b146 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.paramName}: $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.paramName}(): $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.pInstanceOf()" } } 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/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..73f8f72b076 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 @@ -130,5 +130,49 @@ class DSLTests { """.compilationSucceeds() } + @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() + } + // Db.content.at(At.map(), One).set(db, None) } diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index cd3a6020a8b..8f63c5e4070 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -31,6 +31,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; @@ -284,6 +288,7 @@ public abstract interface class arrow/optics/PPrism : arrow/optics/POptional { 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; public static fun none ()Larrow/optics/PPrism; + public static fun pInstanceOf (Lkotlin/reflect/KClass;)Larrow/optics/PPrism; public static fun pLeft ()Larrow/optics/PPrism; public static fun pRight ()Larrow/optics/PPrism; public static fun pSome ()Larrow/optics/PPrism; @@ -303,6 +308,7 @@ public final class arrow/optics/PPrism$Companion { public final fun none ()Larrow/optics/PPrism; public final fun only (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Larrow/optics/PPrism; public static synthetic fun only$default (Larrow/optics/PPrism$Companion;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Larrow/optics/PPrism; + public final fun pInstanceOf (Lkotlin/reflect/KClass;)Larrow/optics/PPrism; public final fun pLeft ()Larrow/optics/PPrism; public final fun pRight ()Larrow/optics/PPrism; public final fun pSome ()Larrow/optics/PPrism; diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index 59dc1ed5249..23d793b4598 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -165,6 +165,8 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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: #A2> pInstanceOf(kotlin.reflect/KClass<#B2>): arrow.optics/PPrism<#A2, #A2, #B2, #B2> // arrow.optics/PPrism.Companion.pInstanceOf|pInstanceOf(kotlin.reflect.KClass<0:1>){0§;1§<0:0>}[0] + final inline fun <#A2: kotlin/Any?, #B2: reified #A2> pInstanceOf(): arrow.optics/PPrism<#A2, #A2, #B2, #B2> // arrow.optics/PPrism.Companion.pInstanceOf|pInstanceOf(){0§;1§<0:0>}[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] @@ -239,6 +241,7 @@ abstract interface <#A: kotlin/Any?> arrow.optics/Copy { // arrow.optics/Copy|nu 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 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] 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..16067311ef8 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,12 @@ 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.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 +221,24 @@ public interface PPrism : POptional { }, reverseGet = { it.right() } ) + + /** + * [Prism] to focus on a particular subtype [B] + */ + @JvmStatic + public inline fun pInstanceOf(): 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 inline fun pInstanceOf(klass: KClass): Prism = Prism( + getOption = { s -> klass.safeCast(s).toOption() }, + reverseGet = { s -> s } + ) } } From c3315be0d85df5d01e698c74140ec828abf5c7a3 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 15 May 2024 20:09:34 +0200 Subject: [PATCH 06/67] Use @JsName to give a better name to new instanceOf Prism (#3424) * Use @JsName to give a better name to new instanceOf Prism * Push correct version --- .../src/main/kotlin/arrow/optics/plugin/internals/prism.kt | 2 +- arrow-libs/optics/arrow-optics/api/arrow-optics.api | 4 ++-- arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api | 4 ++-- .../src/commonMain/kotlin/arrow/optics/Prism.kt | 7 ++++--- 4 files changed, 9 insertions(+), 8 deletions(-) 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 e7c2f41b146..a27f6018382 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 @@ -25,6 +25,6 @@ private fun OpticsProcessorOptions.processElement(ele: ADT, foci: List): else -> "${ele.visibilityModifierName} $inlineText fun $angledTypeParameters ${ele.sourceClassName}.Companion.${focus.paramName}(): $Prism<$sourceClassNameWithParams, ${focus.classNameWithParameters}>" } - "$firstLine = $Prism.pInstanceOf()" + "$firstLine = $Prism.instanceOf()" } } diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index 8f63c5e4070..db8121ee2d1 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -284,11 +284,11 @@ 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; public static fun none ()Larrow/optics/PPrism; - public static fun pInstanceOf (Lkotlin/reflect/KClass;)Larrow/optics/PPrism; public static fun pLeft ()Larrow/optics/PPrism; public static fun pRight ()Larrow/optics/PPrism; public static fun pSome ()Larrow/optics/PPrism; @@ -304,11 +304,11 @@ 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; public static synthetic fun only$default (Larrow/optics/PPrism$Companion;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Larrow/optics/PPrism; - public final fun pInstanceOf (Lkotlin/reflect/KClass;)Larrow/optics/PPrism; public final fun pLeft ()Larrow/optics/PPrism; public final fun pRight ()Larrow/optics/PPrism; public final fun pSome ()Larrow/optics/PPrism; diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index 23d793b4598..9282797e5d6 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -165,8 +165,8 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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: #A2> pInstanceOf(kotlin.reflect/KClass<#B2>): arrow.optics/PPrism<#A2, #A2, #B2, #B2> // arrow.optics/PPrism.Companion.pInstanceOf|pInstanceOf(kotlin.reflect.KClass<0:1>){0§;1§<0:0>}[0] - final inline fun <#A2: kotlin/Any?, #B2: reified #A2> pInstanceOf(): arrow.optics/PPrism<#A2, #A2, #B2, #B2> // arrow.optics/PPrism.Companion.pInstanceOf|pInstanceOf(){0§;1§<0:0>}[0] + final inline 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 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] } 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] 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 16067311ef8..830e67b7ac0 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 @@ -12,6 +12,7 @@ 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 @@ -225,8 +226,8 @@ public interface PPrism : POptional { /** * [Prism] to focus on a particular subtype [B] */ - @JvmStatic - public inline fun pInstanceOf(): Prism = Prism( + @JvmStatic @JsName("instanceOfReified") + public inline fun instanceOf(): Prism = Prism( getOption = { s -> if (s is B) s.some() else arrow.core.none() }, reverseGet = { s -> s } ) @@ -235,7 +236,7 @@ public interface PPrism : POptional { * [Prism] to focus on a particular subtype [B] */ @JvmStatic - public inline fun pInstanceOf(klass: KClass): Prism = Prism( + public inline fun instanceOf(klass: KClass): Prism = Prism( getOption = { s -> klass.safeCast(s).toOption() }, reverseGet = { s -> s } ) From 99b3506d9941d0318c715bb574012d76ee9fb4a6 Mon Sep 17 00:00:00 2001 From: Simon Vergauwen Date: Wed, 15 May 2024 21:32:13 +0200 Subject: [PATCH 07/67] Alias for List for Every (#3417) * Add alias for List * Auto-update API files * Auto-update API files --------- Co-authored-by: Alejandro Serrano Co-authored-by: serras --- .../src/test/kotlin/arrow/optics/plugin/DSLTests.kt | 2 +- arrow-libs/optics/arrow-optics/api/arrow-optics.api | 1 + arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api | 2 ++ .../src/commonMain/kotlin/arrow/optics/dsl/every.kt | 4 ++++ 4 files changed, 8 insertions(+), 1 deletion(-) 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 73f8f72b076..4aaf37178c4 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]") diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index db8121ee2d1..e3b52d80c6f 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -472,6 +472,7 @@ 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 getEvery (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; } public final class arrow/optics/dsl/IndexKt { diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index 9282797e5d6..37058b1c4b1 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -275,6 +275,8 @@ final object arrow.optics/Every { // arrow.optics/Every|null[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,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/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] 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..c43f3cfa48e 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,5 +1,6 @@ package arrow.optics.dsl +import arrow.optics.Every import arrow.optics.Traversal /** @@ -10,3 +11,6 @@ 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()) From 96b40cd38ba634a19c299fc6e72e9252f75bc53e Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 16 May 2024 09:34:19 +0200 Subject: [PATCH 08/67] Reduce warnings (#3425) --- .../kotlin/arrow/{ => optics}/optics.kt | 0 arrow-libs/core/arrow-atomic/build.gradle.kts | 12 +- .../core/arrow-autoclose/build.gradle.kts | 2 +- arrow-libs/core/arrow-core/api/arrow-core.api | 2 - .../core/arrow-core/api/arrow-core.klib.api | 4 +- arrow-libs/core/arrow-core/build.gradle.kts | 8 +- .../commonMain/kotlin/arrow/core/Either.kt | 15 +- .../src/commonMain/kotlin/arrow/core/Ior.kt | 16 +- .../commonMain/kotlin/arrow/core/Iterable.kt | 62 +-- .../commonMain/kotlin/arrow/core/predef.kt | 2 +- .../kotlin/arrow/core/raise/Builders.kt | 6 +- .../kotlin/arrow/core/IterableTest.kt | 22 +- .../kotlin/arrow/core/SequenceKTest.kt | 2 - .../kotlin/arrow/core/raise/EffectSpec.kt | 2 + .../raise/CancellationExceptionNoTrace.kt | 1 + .../jvmTest/java/arrow/core/DeadlockTest.kt | 2 + .../kotlin/examples/example-iterable-11.kt | 7 +- .../kotlin/examples/example-iterable-12.kt | 9 +- .../kotlin/examples/example-iterable-13.kt | 7 +- .../kotlin/examples/example-iterable-14.kt | 7 +- .../kotlin/examples/example-iterable-15.kt | 6 +- .../kotlin/examples/example-iterable-16.kt | 5 +- .../kotlin/examples/example-iterable-17.kt | 8 +- .../kotlin/examples/example-iterable-18.kt | 10 - .../kotlin/examples/example-iterable-19.kt | 12 - .../kotlin/examples/test/IterableKnitTest.kt | 12 +- .../raise/CancellationExceptionNoTrace.kt | 1 + .../arrow-collectors/api/arrow-collectors.api | 3 + .../api/arrow-collectors.klib.api | 1 + .../kotlin/arrow/collectors/Collect.kt | 19 +- .../kotlin/arrow/collectors/Collector.kt | 1 + .../kotlin/arrow/fx/coroutines/Resource.kt | 2 + .../kotlin/arrow/fx/coroutines/flow.kt | 4 + .../kotlin/examples/example-flow-01.kt | 1 + .../kotlin/examples/example-flow-03.kt | 1 + .../kotlin/examples/example-flow-04.kt | 1 + .../kotlin/examples/example-flow-05.kt | 16 - .../kotlin/examples/example-resource-08.kt | 1 + .../kotlin/examples/example-resource-09.kt | 1 + arrow-libs/fx/arrow-fx-stm/build.gradle.kts | 8 +- .../arrow-optics/api/arrow-optics.klib.api | 2 +- .../commonMain/kotlin/arrow/optics/Prism.kt | 2 +- gradle/libs.versions.toml | 2 +- kotlin-js-store/yarn.lock | 442 +++++++++--------- 44 files changed, 334 insertions(+), 415 deletions(-) rename arrow-libs/core/arrow-annotations/src/commonMain/kotlin/arrow/{ => optics}/optics.kt (100%) delete mode 100644 arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-18.kt delete mode 100644 arrow-libs/core/arrow-core/src/jvmTest/kotlin/examples/example-iterable-19.kt delete mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-flow-05.kt 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/build.gradle.kts b/arrow-libs/core/arrow-atomic/build.gradle.kts index 750a80923ab..6a88e04f814 100644 --- a/arrow-libs/core/arrow-atomic/build.gradle.kts +++ b/arrow-libs/core/arrow-atomic/build.gradle.kts @@ -1,5 +1,6 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -19,11 +20,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 { @@ -52,10 +50,6 @@ kotlin { } } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" -} - tasks.withType().configureEach { useJUnitPlatform() } diff --git a/arrow-libs/core/arrow-autoclose/build.gradle.kts b/arrow-libs/core/arrow-autoclose/build.gradle.kts index eb7de7856a6..41bbbead065 100644 --- a/arrow-libs/core/arrow-autoclose/build.gradle.kts +++ b/arrow-libs/core/arrow-autoclose/build.gradle.kts @@ -46,5 +46,5 @@ kotlin { // 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-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 66d36d47f95..55cbab781b8 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -292,8 +292,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; diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 1d6bf428b11..9d08f3bab43 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -354,7 +354,6 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterable (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/Iterable>).arrow.core/unzip(): kotlin/Pair, kotlin.collections/List<#B>> // arrow.core/unzip|unzip@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] @@ -386,6 +385,7 @@ final fun <#A: kotlin/Any?> (#A).arrow.core/right(): arrow.core/Either (#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] @@ -516,7 +516,6 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.col 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/Iterable<#C>).arrow.core/unzip(kotlin/Function1<#C, kotlin/Pair<#A, #B>>): kotlin/Pair, kotlin.collections/List<#B>> // arrow.core/unzip|unzip@kotlin.collections.Iterable<0:2>(kotlin.Function1<0:2,kotlin.Pair<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/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] @@ -554,7 +553,6 @@ final inline fun <#A: kotlin/Any?, #B: reified kotlin/Any?> (kotlin.collections/ 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/Either<#A, #A>).arrow.core/merge(): #A // arrow.core/merge|merge@arrow.core.Either<0:0,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] diff --git a/arrow-libs/core/arrow-core/build.gradle.kts b/arrow-libs/core/arrow-core/build.gradle.kts index 8e4f22c93d9..0dde880ffa1 100644 --- a/arrow-libs/core/arrow-core/build.gradle.kts +++ b/arrow-libs/core/arrow-core/build.gradle.kts @@ -1,5 +1,6 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import java.time.Duration @@ -20,6 +21,9 @@ spotless { apply(from = property("ANIMALSNIFFER_MPP")) kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") + sourceSets { commonMain { dependencies { @@ -67,10 +71,6 @@ kotlin { } } -tasks.withType().configureEach { - compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") -} - // enables context receivers for Jvm Tests tasks.named("compileTestKotlinJvm") { compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") 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..d0ac6a75654 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) }) } /** @@ -1312,7 +1313,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 +1336,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) 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..9d218a18827 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,20 @@ 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) + } } 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/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 fa90b8a815d..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() } } /** 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/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/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/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 index a7e24fb7f5c..745d46f1d3d 100644 --- a/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api +++ b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api @@ -20,6 +20,7 @@ abstract interface <#A: kotlin/Any?, #B: in kotlin/Any?, #C: out kotlin/Any?> ar 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] } 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] 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/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..627ac319930 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 @@ -414,6 +414,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 +453,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 { 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/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-stm/build.gradle.kts b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts index bc604417d2e..b0dd944c352 100644 --- a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts @@ -1,5 +1,6 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.tasks.KotlinCompile @@ -20,6 +21,9 @@ spotless { apply(from = property("ANIMALSNIFFER_MPP")) kotlin { + @OptIn(ExperimentalKotlinGradlePluginApi::class) + compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") + sourceSets { commonMain { dependencies { @@ -48,10 +52,6 @@ kotlin { } } -tasks.withType().configureEach { - kotlinOptions.freeCompilerArgs += "-Xexpect-actual-classes" -} - tasks.withType().configureEach { useJUnitPlatform() } diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index 37058b1c4b1..09b3db9321a 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -155,6 +155,7 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] 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] @@ -165,7 +166,6 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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: #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 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] } 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] 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 830e67b7ac0..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 @@ -236,7 +236,7 @@ public interface PPrism : POptional { * [Prism] to focus on a particular subtype [B] */ @JvmStatic - public inline fun instanceOf(klass: KClass): Prism = Prism( + public fun instanceOf(klass: KClass): Prism = Prism( getOption = { s -> klass.safeCast(s).toOption() }, reverseGet = { s -> s } ) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 87319917ec1..3ca2f938964 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,7 +18,7 @@ moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.7" composePlugin = "1.6.10-rc01" -agp = "8.4.0" +agp = "8.3.0" android-compileSdk = "34" cache4k = "0.13.0" publish="0.28.0" 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" From b35685c68997737be6c401b0a7c2a309ef9892b4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 10:38:20 +0200 Subject: [PATCH 09/67] chore(deps): update all dependencies (#3412) * chore(deps): update all dependencies | datasource | package | from | to | | ---------- | --------------------------------------------------------------------- | ---------------- | ---------------- | | maven | org.jetbrains.compose:org.jetbrains.compose.gradle.plugin | 1.6.10-rc01 | 1.6.10-rc02 | | maven | com.gradle.develocity:com.gradle.develocity.gradle.plugin | 3.17.2 | 3.17.3 | | maven | com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin | 2.0.0-RC2-1.0.20 | 2.0.0-RC3-1.0.20 | | maven | com.google.devtools.ksp:symbol-processing-api | 2.0.0-RC2-1.0.20 | 2.0.0-RC3-1.0.20 | | maven | org.jetbrains.kotlinx.kover:org.jetbrains.kotlinx.kover.gradle.plugin | 0.7.6 | 0.8.0 | * Fix build --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Alejandro Serrano Mena --- build.gradle.kts | 7 ++++--- gradle/libs.versions.toml | 6 +++--- settings.gradle.kts | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3dfeac8dc7d..91afa0bf4f6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,8 +17,8 @@ allprojects { 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 { @@ -29,8 +29,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) } + google() + maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") } tasks { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3ca2f938964..17fab8aee60 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,19 +5,19 @@ coroutines = "1.8.1" classgraph = "4.8.172" dokka = "1.9.20" kotest = "5.9.0" -kover = "0.7.6" +kover = "0.8.0" kotlin = "2.0.0-RC3" kotlinBinaryCompatibilityValidator = "0.15.0-Beta.2" kotlinCompileTesting = "0.4.1" knit = "0.5.0" -kspVersion = "2.0.0-RC2-1.0.20" +kspVersion = "2.0.0-RC3-1.0.20" kotlinxSerialization = "1.6.3" mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.7" -composePlugin = "1.6.10-rc01" +composePlugin = "1.6.10-rc02" agp = "8.3.0" android-compileSdk = "34" cache4k = "0.13.0" diff --git a/settings.gradle.kts b/settings.gradle.kts index 3fcebadcb2c..38f65cca38e 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.17.3" id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") } From dc7baf1541295f6d2de2e1ca43adedb652dcf7f8 Mon Sep 17 00:00:00 2001 From: Simon Vergauwen Date: Thu, 16 May 2024 20:35:12 +0200 Subject: [PATCH 10/67] Arrow Optics, DSL syntax improvements (#3427) --- .../optics/arrow-optics/api/arrow-optics.api | 31 ++++++ .../arrow-optics/api/arrow-optics.klib.api | 34 ++++++ .../commonMain/kotlin/arrow/optics/dsl/at.kt | 24 ++++ .../kotlin/arrow/optics/dsl/every.kt | 29 +++++ .../kotlin/arrow/optics/dsl/filterIndex.kt | 38 +++++++ .../kotlin/arrow/optics/dsl/index.kt | 40 +++++++ .../kotlin/arrow/optics/dsl/AtSyntaxTest.kt | 60 ++++++++++ .../arrow/optics/dsl/EverySyntaxTest.kt | 103 ++++++++++++++++++ .../kotlin/arrow/optics/dsl/Wrapper.kt | 13 +++ 9 files changed, 372 insertions(+) create mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/filterIndex.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/AtSyntaxTest.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/EverySyntaxTest.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/dsl/Wrapper.kt diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index e3b52d80c6f..afa83f26856 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -457,8 +457,14 @@ 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/EitherKt { @@ -472,12 +478,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 filter (Larrow/optics/PTraversal;Larrow/optics/typeclasses/FilterIndex;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; + public static final fun filter (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; + public static final fun filterChars (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 { diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index 09b3db9321a..ac5df298976 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -246,15 +246,37 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> ( 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/filter(arrow.optics.typeclasses/FilterIndex<#B, #C, #D>, kotlin/Function1<#C, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #D, #D> // arrow.optics.dsl/filter|filter@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<#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, 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/filter(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #C, #C> // arrow.optics.dsl/filter|filter@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, 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, arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#B>>).arrow.optics.dsl/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@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/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@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/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@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<#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/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, kotlin/Char, kotlin/Char> // arrow.optics.dsl/filter|filter@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] @@ -275,8 +297,20 @@ final object arrow.optics/Every { // arrow.optics/Every|null[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] 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/every.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/every.kt index c43f3cfa48e..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,7 +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] @@ -14,3 +19,27 @@ public fun Traversal.every(tr: Traversal): Traversal 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..8e344298d95 --- /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.filter(filter: FilterIndex, predicate: Predicate): Traversal = + this.compose(filter.filter(predicate)) + +public fun Traversal>.filter(predicate: Predicate): Traversal = + this.compose(FilterIndex.list().filter(predicate)) + +@JvmName("filterNonEmptyList") +public fun Traversal>.filter(predicate: Predicate): Traversal = + this.compose(FilterIndex.nonEmptyList().filter(predicate)) + +@JvmName("filterSequence") +public fun Traversal>.filter(predicate: Predicate): Traversal = + this.compose(FilterIndex.sequence().filter(predicate)) + +@JvmName("filterValues") +public fun Traversal>.filter(predicate: Predicate): Traversal = + this.compose(FilterIndex.map().filter(predicate)) + +@JvmName("filterChars") +public fun Traversal.filter(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/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) } + } +} From 51ace56dce602e8e9b2fcca8a3b15ca434d65b62 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 16 May 2024 22:04:43 +0200 Subject: [PATCH 11/67] Allow specifying a more concrete Throwable type for retrying, alternative (#3418) --- .../arrow-resilience/api/arrow-resilience.api | 6 +- .../api/arrow-resilience.klib.api | 9 +- .../kotlin/arrow/resilience/Schedule.kt | 69 +++++++++--- .../kotlin/arrow/resilience/FlowTest.kt | 12 +- .../kotlin/arrow/resilience/ScheduleTest.kt | 105 +++++++++++++++++- 5 files changed, 166 insertions(+), 35 deletions(-) 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 index 2482e016740..fbb4a9aec97 100644 --- a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api +++ b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api @@ -125,13 +125,16 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>). 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 object arrow.resilience/SagaActionStep // arrow.resilience/SagaActionStep|null[0] -final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.resilience/Schedule).arrow.resilience/retryOrElseEither(kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction2): arrow.core/Either<#C, #A> // arrow.resilience/retryOrElseEither|retryOrElseEither@arrow.resilience.Schedule(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction2){0§;1§;2§}[0] -final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.resilience/Schedule).arrow.resilience/retryOrElse(kotlin.coroutines/SuspendFunction0<#A>, kotlin.coroutines/SuspendFunction2): #A // arrow.resilience/retryOrElse|retryOrElse@arrow.resilience.Schedule(kotlin.coroutines.SuspendFunction0<0:0>;kotlin.coroutines.SuspendFunction2){0§;1§}[0] -final suspend fun <#A: kotlin/Any?> (arrow.resilience/Schedule).arrow.resilience/retry(kotlin.coroutines/SuspendFunction0<#A>): #A // arrow.resilience/retry|retry@arrow.resilience.Schedule(kotlin.coroutines.SuspendFunction0<0:0>){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] final val arrow.resilience.common/platform // arrow.resilience.common/platform|{}platform[0] final fun (): arrow.resilience.common/Platform // arrow.resilience.common/platform.|(){}[0] final value class <#A: in kotlin/Any?, #B: out kotlin/Any?> arrow.resilience/Schedule { // arrow.resilience/Schedule|null[0] 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") +} From 514c2c36061a0a9b5a2e51f3ab5735f0a8ed4262 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Fri, 17 May 2024 11:57:29 +0200 Subject: [PATCH 12/67] Various small STM improvements (#3419) * Various small STM improvements * Auto-update API files --------- Co-authored-by: serras --- .../fx/arrow-fx-stm/api/arrow-fx-stm.api | 8 + .../fx/arrow-fx-stm/api/arrow-fx-stm.klib.api | 5 + .../src/commonMain/kotlin/arrow/fx/stm/STM.kt | 197 +++++++++++++----- .../commonMain/kotlin/arrow/fx/stm/TQueue.kt | 49 ++--- .../jvmTest/kotlin/examples/example-stm-08.kt | 2 +- .../jvmTest/kotlin/examples/example-stm-09.kt | 2 +- .../jvmTest/kotlin/examples/example-stm-10.kt | 5 +- .../jvmTest/kotlin/examples/example-stm-11.kt | 10 +- .../jvmTest/kotlin/examples/example-stm-12.kt | 11 +- .../jvmTest/kotlin/examples/example-stm-13.kt | 9 +- .../jvmTest/kotlin/examples/example-stm-14.kt | 8 +- .../jvmTest/kotlin/examples/example-stm-15.kt | 4 +- .../jvmTest/kotlin/examples/example-stm-16.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-17.kt | 5 +- .../jvmTest/kotlin/examples/example-stm-18.kt | 3 +- .../jvmTest/kotlin/examples/example-stm-19.kt | 4 +- .../jvmTest/kotlin/examples/example-stm-20.kt | 7 +- .../jvmTest/kotlin/examples/example-stm-21.kt | 10 +- .../jvmTest/kotlin/examples/example-stm-22.kt | 10 +- .../jvmTest/kotlin/examples/example-stm-23.kt | 8 +- .../jvmTest/kotlin/examples/example-stm-24.kt | 4 +- .../jvmTest/kotlin/examples/example-stm-25.kt | 2 +- .../jvmTest/kotlin/examples/example-stm-26.kt | 2 +- .../jvmTest/kotlin/examples/example-stm-27.kt | 11 +- .../jvmTest/kotlin/examples/example-stm-28.kt | 11 +- .../jvmTest/kotlin/examples/example-stm-29.kt | 12 +- .../jvmTest/kotlin/examples/example-stm-30.kt | 11 +- .../jvmTest/kotlin/examples/example-stm-31.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-32.kt | 7 +- .../jvmTest/kotlin/examples/example-stm-33.kt | 3 +- .../jvmTest/kotlin/examples/example-stm-34.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-35.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-36.kt | 5 +- .../jvmTest/kotlin/examples/example-stm-37.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-38.kt | 7 +- .../jvmTest/kotlin/examples/example-stm-39.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-40.kt | 8 +- .../jvmTest/kotlin/examples/example-stm-41.kt | 11 +- .../jvmTest/kotlin/examples/example-stm-42.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-43.kt | 11 +- .../jvmTest/kotlin/examples/example-stm-44.kt | 9 +- .../jvmTest/kotlin/examples/example-stm-45.kt | 9 +- .../jvmTest/kotlin/examples/example-stm-46.kt | 9 +- .../jvmTest/kotlin/examples/example-stm-47.kt | 2 + .../jvmTest/kotlin/examples/example-stm-48.kt | 8 +- .../jvmTest/kotlin/examples/example-stm-49.kt | 5 +- .../jvmTest/kotlin/examples/example-stm-50.kt | 3 +- .../jvmTest/kotlin/examples/example-stm-51.kt | 10 +- .../jvmTest/kotlin/examples/example-stm-52.kt | 6 +- .../jvmTest/kotlin/examples/example-stm-53.kt | 11 +- .../jvmTest/kotlin/examples/example-stm-54.kt | 8 +- .../jvmTest/kotlin/examples/example-stm-55.kt | 10 +- .../jvmTest/kotlin/examples/example-stm-56.kt | 12 +- .../jvmTest/kotlin/examples/example-stm-57.kt | 14 ++ .../jvmTest/kotlin/examples/example-stm-58.kt | 15 ++ .../jvmTest/kotlin/examples/example-stm-59.kt | 18 ++ .../jvmTest/kotlin/examples/example-stm-60.kt | 18 ++ 57 files changed, 420 insertions(+), 251 deletions(-) create mode 100644 arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-57.kt create mode 100644 arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-58.kt create mode 100644 arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-59.kt create mode 100644 arrow-libs/fx/arrow-fx-stm/src/jvmTest/kotlin/examples/example-stm-60.kt 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..e5a1ed57e45 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; 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 index 1012de630f5..6f612e7fc26 100644 --- 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 @@ -56,9 +56,14 @@ abstract interface arrow.fx.stm/STM { // arrow.fx.stm/STM|null[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] + 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] } final class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.stm/TMap { // arrow.fx.stm/TMap|null[0] final fun copy(arrow.fx.stm.internal/Hamt> = ..., kotlin/Function1<#A, kotlin/Int> = ...): arrow.fx.stm/TMap<#A, #B> // arrow.fx.stm/TMap.copy|copy(arrow.fx.stm.internal.Hamt>;kotlin.Function1<1:0,kotlin.Int>){}[0] 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") +} From 7077846dc02af678adc4e147bfc49ce7c6529d29 Mon Sep 17 00:00:00 2001 From: Youssef Shoaib Date: Sat, 18 May 2024 08:13:23 +0100 Subject: [PATCH 13/67] Fix finalizer order for resourceScope to match autoCloseScope (#3430) --- .../kotlin/arrow/fx/coroutines/Resource.kt | 20 +++---- .../arrow/fx/coroutines/ResourceTest.kt | 59 ++++++++++++++++++- 2 files changed, 64 insertions(+), 15 deletions(-) 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 627ac319930..6ce0262c9b2 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 @@ -514,20 +514,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) { + Completed -> null + is Cancelled -> exitCase.exception + is Failure -> exitCase.failure } - finalizers.update { prev -> prev + finalizer } + release(a, errorOrNull) } - } catch (e: Throwable) { - throw e + finalizers.update(finalizer::prependTo) } suspend fun cancelAll( 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..41de38cd14e 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,11 +27,12 @@ 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 { @@ -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() + } } From 86fc0f08158aaf2f376c0ace2f029ee0ff09c1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petrus=20Nguy=E1=BB=85n=20Th=C3=A1i=20H=E1=BB=8Dc?= Date: Tue, 21 May 2024 00:38:06 +0700 Subject: [PATCH 14/67] NonEmptySet: change 2nd param of constructor to Iterable. Optimize `nonEmptySetOf` and `toNonEmptySetOrNull` (#3422) * NonEmptySet: change 2nd param of constructor to Iterable. Optimize `nonEmptySetOf` and `toNonEmptySetOrNull` * api dump --------- Co-authored-by: Alejandro Serrano --- arrow-libs/core/arrow-core/api/arrow-core.api | 2 +- arrow-libs/core/arrow-core/api/arrow-core.klib.api | 2 +- .../src/commonMain/kotlin/arrow/core/NonEmptySet.kt | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 55cbab781b8..317c369281e 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -500,7 +500,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 diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 9d08f3bab43..e832f0f17e4 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -660,7 +660,7 @@ final value class <#A: out kotlin/Any?> arrow.core/NonEmptyList : arrow.core/Non 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/Set<#A>) // arrow.core/NonEmptySet.|(1:0;kotlin.collections.Set<1:0>){}[0] + constructor (#A, kotlin.collections/Iterable<#A>) // arrow.core/NonEmptySet.|(1:0;kotlin.collections.Iterable<1:0>){}[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] 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..9cc90532b7f 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 @@ -7,7 +7,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,7 +43,7 @@ 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> = @@ -51,12 +51,12 @@ public value class NonEmptySet private constructor( } 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> = From 9894996dc38aa7d704f1b02f2bd977978ab6683a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 22 May 2024 07:36:06 +0200 Subject: [PATCH 15/67] chore(deps): update all dependencies (#3428) | datasource | package | from | to | | ---------- | ------------------------------------------------------------------------------------------------- | ---------------- | ------------ | | maven | com.android.library:com.android.library.gradle.plugin | 8.3.0 | 8.4.1 | | maven | org.jetbrains.compose:org.jetbrains.compose.gradle.plugin | 1.6.10-rc02 | 1.6.10 | | maven | com.gradle.develocity:com.gradle.develocity.gradle.plugin | 3.17.3 | 3.17.4 | | maven | com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin | 2.0.0-RC3-1.0.20 | 2.0.0-1.0.21 | | maven | com.google.devtools.ksp:symbol-processing-api | 2.0.0-RC3-1.0.20 | 2.0.0-1.0.21 | | maven | org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin | 2.0.0-RC3 | 2.0.0 | | maven | org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin | 2.0.0-RC3 | 2.0.0 | | maven | org.jetbrains.kotlin.multiplatform:org.jetbrains.kotlin.multiplatform.gradle.plugin | 2.0.0-RC3 | 2.0.0 | | maven | org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin | 2.0.0-RC3 | 2.0.0 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 8 ++++---- settings.gradle.kts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 17fab8aee60..3f10cf4a3b4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,19 +6,19 @@ classgraph = "4.8.172" dokka = "1.9.20" kotest = "5.9.0" kover = "0.8.0" -kotlin = "2.0.0-RC3" +kotlin = "2.0.0" kotlinBinaryCompatibilityValidator = "0.15.0-Beta.2" kotlinCompileTesting = "0.4.1" knit = "0.5.0" -kspVersion = "2.0.0-RC3-1.0.20" +kspVersion = "2.0.0-1.0.21" kotlinxSerialization = "1.6.3" mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.7" -composePlugin = "1.6.10-rc02" -agp = "8.3.0" +composePlugin = "1.6.10" +agp = "8.4.1" android-compileSdk = "34" cache4k = "0.13.0" publish="0.28.0" diff --git a/settings.gradle.kts b/settings.gradle.kts index 38f65cca38e..6a8e95f1c73 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id("com.gradle.develocity") version "3.17.3" + id("com.gradle.develocity") version "3.17.4" id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") } From 796e3b60ada488307baf7678420c3cdcac0c38da Mon Sep 17 00:00:00 2001 From: Lukasz Kusek Date: Tue, 28 May 2024 10:58:17 +0100 Subject: [PATCH 16/67] Fix optics generation in case of parameters having keywords as names. (#3435) --- .../arrow/optics/plugin/internals/domain.kt | 4 ++ .../arrow/optics/plugin/internals/dsl.kt | 44 +++++++++---------- .../arrow/optics/plugin/internals/iso.kt | 12 ++--- .../arrow/optics/plugin/internals/lenses.kt | 13 ++---- .../arrow/optics/plugin/internals/prism.kt | 4 +- .../kotlin/arrow/optics/plugin/IsoTests.kt | 26 +++++++++++ .../kotlin/arrow/optics/plugin/LensTests.kt | 24 ++++++++++ .../kotlin/arrow/optics/plugin/PrismTests.kt | 30 +++++++++++++ 8 files changed, 115 insertions(+), 42 deletions(-) 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 7cd9b56cd56..2763c6afd72 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 @@ -77,6 +77,10 @@ data class Focus( 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 9cd43ef6eea..b45c140f59a 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 @@ -36,9 +36,9 @@ private fun processLensSyntax(ele: ADT, foci: List, className: String): S return if (ele.typeParameters.isEmpty()) { foci.joinToString(separator = "\n") { focus -> """ - |${ele.visibilityModifierName} inline val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.lensParamName()}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.lensParamName()} - |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.lensParamName()}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.lensParamName()} - |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.lensParamName()}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.lensParamName()} + |${ele.visibilityModifierName} inline val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} | """.trimMargin() } @@ -47,9 +47,9 @@ 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 <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.lensParamName()}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.lensParamName()}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.lensParamName()}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.lensParamName()}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.lensParamName()}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.lensParamName()}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() | """.trimMargin() } @@ -60,9 +60,9 @@ private fun processPrismSyntax(ele: ADT, dsl: SealedClassDsl, className: String) if (ele.typeParameters.isEmpty()) { dsl.foci.joinToString(separator = "\n\n") { focus -> """ - |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.paramName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.paramName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.paramName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} | """.trimMargin() } @@ -74,9 +74,9 @@ private fun processPrismSyntax(ele: ADT, dsl: SealedClassDsl, className: String) else -> focus.refinedArguments.joinToString(separator = ",") } """ - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() | """.trimMargin() } @@ -86,11 +86,11 @@ private fun processIsoSyntax(ele: ADT, dsl: ValueClassDsl, className: String): S if (ele.typeParameters.isEmpty()) { dsl.foci.joinToString(separator = "\n\n") { focus -> """ - |${ele.visibilityModifierName} inline val <__S> $Iso<__S, ${ele.sourceClassName}>.${focus.paramName}: $Iso<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.paramName}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.paramName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.paramName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} - |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.paramName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.paramName} + |${ele.visibilityModifierName} inline val <__S> $Iso<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Iso<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} | """.trimMargin() } @@ -102,11 +102,11 @@ private fun processIsoSyntax(ele: ADT, dsl: ValueClassDsl, className: String): S else -> focus.refinedArguments.joinToString(separator = ",") } """ - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Iso<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Iso<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.paramName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.paramName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Iso<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Iso<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${ele.visibilityModifierName} inline 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..1583dc4494e 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 @@ -34,18 +34,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 +49,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 a27f6018382..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,9 +21,9 @@ 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.classNameWithParameters}> $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.classNameWithParameters}>" + "${ele.visibilityModifierName} $inlineText fun $angledTypeParameters ${ele.sourceClassName}.Companion.${focus.escapedParamName}(): $Prism<$sourceClassNameWithParams, ${focus.classNameWithParameters}>" } "$firstLine = $Prism.instanceOf()" } 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..bcfaee06ff2 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 @@ -34,6 +34,36 @@ class PrismTests { """.compilationSucceeds(allWarningsAsErrors = true) } + @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(allWarningsAsErrors = true) + } + + @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(allWarningsAsErrors = true) + } + @Test fun `Prism will be generated without warning for sealed class with only one subclass`() { """ From c2917bd008b619d4f7f2ad56a9be5ad8f4cf03a7 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 29 May 2024 20:39:38 +0200 Subject: [PATCH 17/67] Pattern matching DSL (#3442) --- .../optics/arrow-optics/api/arrow-optics.api | 36 ++++++ .../arrow-optics/api/arrow-optics.klib.api | 30 +++++ .../kotlin/arrow/optics/match/Combinators.kt | 104 ++++++++++++++++++ .../kotlin/arrow/optics/match/Match.kt | 53 +++++++++ .../kotlin/arrow/optics/match/MatchTest.kt | 87 +++++++++++++++ 5 files changed, 310 insertions(+) create mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index afa83f26856..cec5833f7f4 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -521,6 +521,42 @@ public final class arrow/optics/dsl/OptionKt { public static final fun getSome (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; } +public final class arrow/optics/match/CombinatorsKt { + public static final fun equalsTo (Ljava/lang/Object;)Larrow/optics/POptional; + public static final fun ifEquals (Larrow/optics/POptional;Ljava/lang/Object;)Larrow/optics/POptional; + public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun it (Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; + public static final fun predicate (Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; + public static final fun suchThat (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; +} + +public final class arrow/optics/match/MatchKt { + public static final fun matchOrElse (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun matchOrRaise (Larrow/core/raise/Raise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun matchOrRaise (Larrow/core/raise/SingletonRaise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun matchOrThrow (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static synthetic fun matchOrThrow$default (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun matchUnit (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V +} + +public final class arrow/optics/match/MatchNotFound : java/lang/Throwable { + public fun (Ljava/lang/Object;)V + public final fun getValue ()Ljava/lang/Object; +} + +public abstract interface class arrow/optics/match/MatchScope { + public abstract fun default (Lkotlin/jvm/functions/Function0;)V + public abstract fun then (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)V +} + 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 index ac5df298976..c646ddae579 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -236,29 +236,53 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] } +abstract interface <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics.match/MatchScope { // arrow.optics.match/MatchScope|null[0] + abstract fun <#A1: kotlin/Any?> (arrow.optics/POptional<#A, #A, #A1, #A1>).then(kotlin/Function1<#A1, #B>) // arrow.optics.match/MatchScope.then|then@arrow.optics.POptional<1:0,1:0,0:0,0:0>(kotlin.Function1<0:0,1:1>){0§}[0] + abstract fun default(kotlin/Function0<#B>) // arrow.optics.match/MatchScope.default|default(kotlin.Function0<1:1>){}[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 class arrow.optics.match/MatchNotFound : kotlin/Throwable { // arrow.optics.match/MatchNotFound|null[0] + constructor (kotlin/Any?) // arrow.optics.match/MatchNotFound.|(kotlin.Any?){}[0] + final val value // arrow.optics.match/MatchNotFound.value|{}value[0] + final fun (): kotlin/Any? // arrow.optics.match/MatchNotFound.value.|(){}[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.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>, arrow.optics/POptional<#B, #B, #F, #F>, arrow.optics/POptional<#B, #B, #G, #G>): arrow.optics/POptional<#A, #A, arrow.core/Tuple5<#C, #D, #E, #F, #G>, arrow.core/Tuple5<#C, #D, #E, #F, #G>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,0:4>;arrow.optics.POptional<0:1,0:1,0:5,0:5>;arrow.optics.POptional<0:1,0:1,0:6,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.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?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>, arrow.optics/POptional<#B, #B, #F, #F>): arrow.optics/POptional<#A, #A, arrow.core/Tuple4<#C, #D, #E, #F>, arrow.core/Tuple4<#C, #D, #E, #F>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,0:4>;arrow.optics.POptional<0:1,0:1,0:5,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?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>, arrow.optics/POptional<#A, #A, #D, #D>, arrow.optics/POptional<#A, #A, #E, #E>, arrow.optics/POptional<#A, #A, #F, #F>): arrow.optics/POptional<#A, #A, arrow.core/Tuple5<#B, #C, #D, #E, #F>, arrow.core/Tuple5<#B, #C, #D, #E, #F>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>;arrow.optics.POptional<0:0,0:0,0:3,0:3>;arrow.optics.POptional<0:0,0:0,0:4,0:4>;arrow.optics.POptional<0:0,0:0,0:5,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.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>): arrow.optics/POptional<#A, #A, kotlin/Triple<#C, #D, #E>, kotlin/Triple<#C, #D, #E>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,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.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>, arrow.optics/POptional<#A, #A, #D, #D>, arrow.optics/POptional<#A, #A, #E, #E>): arrow.optics/POptional<#A, #A, arrow.core/Tuple4<#B, #C, #D, #E>, arrow.core/Tuple4<#B, #C, #D, #E>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>;arrow.optics.POptional<0:0,0:0,0:3,0:3>;arrow.optics.POptional<0:0,0:0,0:4,0:4>){0§;1§;2§;3§;4§}[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/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>): arrow.optics/POptional<#A, #A, kotlin/Pair<#C, #D>, kotlin/Pair<#C, #D>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>){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/filter(arrow.optics.typeclasses/FilterIndex<#B, #C, #D>, kotlin/Function1<#C, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #D, #D> // arrow.optics.dsl/filter|filter@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?, #D: kotlin/Any?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>, arrow.optics/POptional<#A, #A, #D, #D>): arrow.optics/POptional<#A, #A, kotlin/Triple<#B, #C, #D>, kotlin/Triple<#B, #C, #D>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>;arrow.optics.POptional<0:0,0:0,0:3,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/SingletonRaise<#C>).arrow.optics.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrRaise|matchOrRaise@arrow.core.raise.SingletonRaise<0:2>(0:0;kotlin.Function1,kotlin.Unit>){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(#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, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<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/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<#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, 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/filter(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #C, #C> // arrow.optics.dsl/filter|filter@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?, #C: kotlin/Any?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>): arrow.optics/POptional<#A, #A, kotlin/Pair<#B, #C>, kotlin/Pair<#B, #C>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.optics.match/matchOrElse(kotlin/Function0<#B>, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrElse|matchOrElse@0:0(kotlin.Function0<0:1>;kotlin.Function1,kotlin.Unit>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.optics.match/matchOrThrow(kotlin/Function0 = ..., kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrThrow|matchOrThrow@0:0(kotlin.Function0;kotlin.Function1,kotlin.Unit>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise).arrow.optics.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrRaise|matchOrRaise@arrow.core.raise.Raise(0:0;kotlin.Function1,kotlin.Unit>){0§;1§}[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.match/ifEquals(#B): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/ifEquals|ifEquals@arrow.optics.POptional<0:0,0:0,0:1,0:1>(0:1){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/suchThat(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/suchThat|suchThat@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] @@ -270,8 +294,10 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, ko 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/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@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.match/it(arrow.optics/POptional<#A, #A, #B, #B>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>){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.match/matchUnit(kotlin/Function1, kotlin/Unit>) // arrow.optics.match/matchUnit|matchUnit@0:0(kotlin.Function1,kotlin.Unit>){0§}[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<#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] @@ -280,6 +306,10 @@ final fun <#A: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin/String, kotl 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.match/equalsTo(#A): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.match/equalsTo|equalsTo(0:0){0§}[0] +final fun <#A: kotlin/Any?> arrow.optics.match/predicate(kotlin/Function1<#A, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.match/predicate|predicate(kotlin.Function1<0:0,kotlin.Boolean>){0§}[0] +final inline fun <#A: kotlin/Any, #B: reified #A> arrow.optics.match/instanceOf(): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/instanceOf|instanceOf(){0§;1§<0:0>}[0] +final inline fun <#A: kotlin/Any?, #B: kotlin/Any, #C: reified #B> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/ifInstanceOf(): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.match/ifInstanceOf|ifInstanceOf@arrow.optics.POptional<0:0,0:0,0:1,0:1>(){0§;1§;2§<0:1>}[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] diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt new file mode 100644 index 00000000000..01f969bd318 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt @@ -0,0 +1,104 @@ +package arrow.optics.match + +import arrow.core.Tuple4 +import arrow.core.Tuple5 +import arrow.core.raise.Raise +import arrow.core.raise.either +import arrow.core.raise.ensure +import arrow.optics.Optional +import arrow.optics.Prism + +public fun Optional.suchThat( + predicate: (A) -> Boolean, +): Optional = this.compose(predicate(predicate)) + +public fun predicate( + predicate: (A) -> Boolean, +): Optional = Optional( + getOrModify = { x -> + either { + ensure(predicate(x)) { x } + x + } + }, + set = { x, _ -> x } +) + +public fun Optional.ifEquals(value: A): Optional = this.suchThat { it == value } + +public fun equalsTo(value: A): Optional = predicate { it == value } + +public inline fun Optional.ifInstanceOf(): Optional = this.compose(instanceOf()) + +public inline fun instanceOf(): Optional = Prism.instanceOf() + +public operator fun Optional.invoke( + p1: Optional, +): Optional = this.compose(p1) + +public operator fun Optional.invoke( + p1: Optional, p2: Optional, +): Optional> = this.compose(it(p1, p2)) + +public operator fun Optional.invoke( + p1: Optional, p2: Optional, p3: Optional, +): Optional> = this.compose(it(p1, p2, p3)) + +public operator fun Optional.invoke( + p1: Optional, p2: Optional, p3: Optional, p4: Optional, +): Optional> = this.compose(it(p1, p2, p3, p4)) + +public operator fun Optional.invoke( + p1: Optional, p2: Optional, p3: Optional, p4: Optional, p5: Optional +): Optional> = this.compose(it(p1, p2, p3, p4, p5)) + +private fun OptionalUsingRaise( + getOrModify: Raise.(S) -> A, + set: (S, A) -> S +): Optional = Optional( + getOrModify = { x -> either { getOrModify(x) } }, + set = set +) + +public fun it( + p1: Optional +): Optional = p1 + +public fun it( + p1: Optional, p2: Optional, +): Optional> = OptionalUsingRaise( + { Pair(p1.getOrModify(it).bind(), p2.getOrModify(it).bind()) }, + { x, (a, b) -> p2.set(p1.set(x, a), b) } +) + +public fun it( + p1: Optional, p2: Optional, p3: Optional, +): Optional> = OptionalUsingRaise( + { Triple(p1.getOrModify(it).bind(), p2.getOrModify(it).bind(), p3.getOrModify(it).bind()) }, + { x, (a, b, c) -> p3.set(p2.set(p1.set(x, a), b), c) } +) + +public fun it( + p1: Optional, p2: Optional, p3: Optional, p4: Optional, +): Optional> = OptionalUsingRaise( + { Tuple4( + p1.getOrModify(it).bind(), + p2.getOrModify(it).bind(), + p3.getOrModify(it).bind(), + p4.getOrModify(it).bind()) + }, + { x, (a, b, c, d) -> p4.set(p3.set(p2.set(p1.set(x, a), b), c), d) } +) + +public fun it( + p1: Optional, p2: Optional, p3: Optional, p4: Optional, p5: Optional, +): Optional> = OptionalUsingRaise( + { Tuple5( + p1.getOrModify(it).bind(), + p2.getOrModify(it).bind(), + p3.getOrModify(it).bind(), + p4.getOrModify(it).bind(), + p5.getOrModify(it).bind()) + }, + { x, (a, b, c, d, e) -> p5.set(p4.set(p3.set(p2.set(p1.set(x, a), b), c), d), e) } +) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt new file mode 100644 index 00000000000..fcca38ddccb --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt @@ -0,0 +1,53 @@ +package arrow.optics.match + +import arrow.core.raise.Raise +import arrow.core.raise.SingletonRaise +import arrow.optics.Optional + +public interface MatchScope { + public infix fun Optional.then(next: (A) -> R) + public fun default(next: () -> R) +} + +private class MatchScopeImpl(val subject: S): MatchScope { + override fun Optional.then(next: (A) -> R) { + this.getOrNull(subject)?.let { throw MatchFound(next(it)) } + } + override fun default(next: () -> R) { + throw MatchFound(next()) + } +} + +private class MatchFound(val result: Any?) : Throwable() + +@Suppress("UNCHECKED_CAST") +public fun S.matchOrElse( + noMatch: () -> R, + cases: MatchScope.() -> Unit, +): R = try { + cases(MatchScopeImpl(this)) + noMatch() +} catch (e: MatchFound) { + e.result as R +} + +public class MatchNotFound(public val value: Any?) : Throwable() + +public fun S.matchOrThrow( + exception: () -> Throwable = { MatchNotFound(this) }, + cases: MatchScope.() -> Unit, +): R = matchOrElse({ throw exception() }, cases) + +public fun Raise.matchOrRaise( + value: S, + cases: MatchScope.() -> Unit, +): R = value.matchOrElse({ raise(MatchNotFound(value)) }, cases) + +public fun SingletonRaise.matchOrRaise( + value: S, + cases: MatchScope.() -> Unit, +): R = value.matchOrElse({ raise() }, cases) + +public fun S.matchUnit( + cases: MatchScope.() -> Unit, +): Unit = matchOrElse({ }, cases) diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt new file mode 100644 index 00000000000..0f7dfc1cb76 --- /dev/null +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt @@ -0,0 +1,87 @@ +package arrow.optics.match + +import arrow.optics.Lens +import arrow.optics.Prism +import io.kotest.matchers.shouldBe +import kotlin.test.Test + +data class Name( + val firstName: String, val lastName: String +) { + companion object { + val firstName: Lens = Lens( + get = { it.firstName }, + set = { name, firstName -> name.copy(firstName = firstName) } + ) + val lastName: Lens = Lens( + get = { it.lastName }, + set = { name, lastName -> name.copy(lastName = lastName) } + ) + } +} + +sealed interface User { + companion object { + val person: Prism = Prism.instanceOf() + val company: Prism = Prism.instanceOf() + } +} + +data class Person( + val name: Name, val age: Int +): User { + companion object { + val name: Lens = Lens( + get = { it.name }, + set = { person, name -> person.copy(name = name) } + ) + val age: Lens = Lens( + get = { it.age }, + set = { person, age -> person.copy(age = age) } + ) + } +} + +data class Company( + val name: String, val director: Name, val address: String +): User { + companion object { + val name: Lens = Lens( + get = { it.name }, + set = { company, name -> company.copy(name = name) } + ) + val director: Lens = Lens( + get = { it.director }, + set = { company, director -> company.copy(director = director) } + ) + val address: Lens = Lens( + get = { it.address }, + set = { company, address -> company.copy(address = address) } + ) + } +} + +val User.shownName: String get() = this.matchOrThrow { + User.person(Person.name(Name.firstName), Person.age.suchThat { it < 18 }) then { (fn, _) -> fn } + User.person(Person.name(Name.firstName, Name.lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } + User.company(Company.name, Company.director(Name.lastName)) then { (nm, d) -> "$nm, att. $d" } +} + +val Person.shownNameForPerson: String get() = this.matchOrThrow { + it(Person.name(Name.firstName), Person.age.suchThat { it < 18 }) then { (fn, _) -> fn } + it(Person.name(Name.firstName, Name.lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } +} + +class MatchTest { + @Test fun userKid() { + val p = Person(Name("Jimmy", "Jones"), 7) + p.shownName shouldBe "Jimmy" + p.shownNameForPerson shouldBe "Jimmy" + } + + @Test fun userAdult() { + val p = Person(Name("Jimmy", "Jones"), 20) + p.shownName shouldBe "Sir/Madam Jimmy Jones" + p.shownNameForPerson shouldBe "Sir/Madam Jimmy Jones" + } +} From 719010de60e583f631bad0a78b0b47a04ff82e96 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 29 May 2024 20:40:01 +0200 Subject: [PATCH 18/67] AwaitScope (#3438) --- .../api/arrow-fx-coroutines.api | 12 ++++ .../api/arrow-fx-coroutines.klib.api | 8 +++ .../fx/coroutines/await/AwaitAllScope.kt | 72 +++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/await/AwaitAllScope.kt 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 f02721af9ec..315aa8734d7 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 @@ -267,3 +267,15 @@ 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; +} + 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 index 37ee62ee5ed..d4bebff4364 100644 --- 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 @@ -18,6 +18,12 @@ final class <#A: kotlin/Any?> arrow.fx.coroutines/ScopedRaiseAccumulate : arrow. 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 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 val coroutineContext // arrow.fx.coroutines.await/AwaitAllScope.coroutineContext|{}coroutineContext[0] + final fun (): kotlin.coroutines/CoroutineContext // arrow.fx.coroutines.await/AwaitAllScope.coroutineContext.|(){}[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] @@ -57,6 +63,8 @@ final suspend fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.collections/Iterabl 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 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] 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..3c20c5500af --- /dev/null +++ b/arrow-libs/fx/arrow-fx-coroutines/src/commonMain/kotlin/arrow/fx/coroutines/await/AwaitAllScope.kt @@ -0,0 +1,72 @@ +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.awaitAll as coroutinesAwaitAll +import kotlinx.coroutines.coroutineScope +import kotlin.coroutines.CoroutineContext +import kotlin.coroutines.EmptyCoroutineContext + +public suspend fun awaitAll( + block: suspend AwaitAllScope.() -> A +): A = coroutineScope { block(AwaitAllScope(this)) } + +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) + } + + private inner class Await( + private val deferred: Deferred + ): Deferred by deferred { + override suspend fun await(): T { + tasks.getAndSet(emptyList()).coroutinesAwaitAll() + return deferred.await() + } + } +} From e21f5e5cca7bb340808670984a56c4f2ce61ecf9 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Sat, 1 Jun 2024 10:43:20 +0200 Subject: [PATCH 19/67] Add icon for the project (#3444) --- .idea/icon.png | Bin 0 -> 28994 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .idea/icon.png diff --git a/.idea/icon.png b/.idea/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8afea8feac13092ded6b83c218d4c2a2913415 GIT binary patch literal 28994 zcmZ^K1z429*6=PavZTw>4NG@-xO8_n5+dD=xTG{J-6h>6EdtUAC?yC2(g-RN0s{KK z-h2Oh@ALiNzwkag%sc1I%$YN%iPOb(=0f9jHswxV4AP_hWc#5F+fu4Tk^KcLd zPsT}JUPo14o?ge>&e@8rHiMdaZ0 z8L)e@BgtGGU8DwFHuA=b#Pz6ULdgW%@3skPt?X?M zcCF0qR|5H6Vbj5d5 zfT>?l)I2;W|D!4BXOjL#m2UL(<#>GBYkKXB>D(XBDz~3y7r0KOK2SF?6c`@lpA&x5 z_i1JlKhu^Z_9m)^5DjyYyOkYCUy)DL6JQ$r;T^Jo${&jmzb65cJQe$03Zp_&v%O7* z>Yvm&MIc3nJ)f7%V_qMN#riQ=4bS4n8ZNt%?vJvCmf}0vlIjl@@5efXRrJ%UwQl9& z+=YAWj9+iX95)@9)fMIJGOLN+4D^DV_jU#A6C@*5GnkW?J6Ki)hME|f` z#weAAAW?TYdv6E7fo!#a!A66R&CnM{dK zAB!V<>@8Qe^J8;LmfQyX42cCd(U;{JheZ7BACZq(LO8HZY0L|Gn&V{4bm#=kj4PQk<$7Q?)YPhuy^u4kOF(8&g8Iivr1ApFZ*%qUgGL zC(*x3R0NlRra(oZg;A3F5XG(HGCZt8orgN;gataEaC13Lvb6`75npsDJ`7%jOMk<= zfA?(e_bN_U7bT8lD{y4oTnh{Dcjbym+Be!LKcG`7IZTnuAaq~p3BCcx2 ztLLvvIXS28i|iWgnzqTVO=O<+oKxVNbeB=s$_6XR6k=~cLnX||{m2yqynVgzBY%aV zANH>+Os!MJYOMyi57L1G3(2XerA`ZR#lZtIqJcMbzh_JZH|yjnP-oA(;a=edZz}M? zGRzB`g_T%|D2nEoBQK1`0ivr25DWt$ORa*D{^*>-vp8W;h!6KI7IO(67gpV1a5J_m zrsN=PGo4Vxi%nuNT%K^w&HG(g0otO0;9rB1ClsYwZXwashN?gEuRzStKd-9byVlphZCMY zx<5)Ka6G6#mMSLX}!irY5RAxjo-E!Z&k4^H)iEy?y;oIdOGHJ(B^4Uaii@ z3SW!E+Bw0BS$n@$%#}!L)jhOhYBstPoj;L1@o8t47(bq5Bmu5GQU127zG6XlM(3OU zIvXcvK1VO7GAC}vK6{hldR?ehxBB&q_{#VO9Ce4Xcm;==NrKFDjsSyoof-r6T3+GY zJZ($0hSH)+nes55iW-UPR>PoLA45(*fj=3{o zh4~W2O618l$(t!AQf2PLi-h0(l)wD?a_XnSs!?J<69`@U`x=|!5>>K+xB`Q$l}d=-t3oc8=sk(UBVqTB)v zqEBs<`0a8kavKC(_>V+IMIMM2J6O4deTZ-!Y#whmvGbbQdR39>P_`>Kr8Gs$Y024P zSZdg?_|&ELWy*!Yk@L}!hyqoNX4drme9n&Qh6J}5w~DV0k_$77S~i`7jdsM3GH%#D zSAWs%JT^Se{fYVWGSe}>%dI(^UG?Vf6LELar#-Q~7T8F*W08_+DuvR z`2W!V(fjigG>y7KU4S3l)4Vr-&*k1tq(#Kz`-ONckmvWCp#38v_C71Z$G>5nsVfW( zr5vR#rAP8~(JL`=Z}Q%}KS@2w{CvsCg@__dLerEC*3VQKU= z?70~QseRHxHgW?|i$p!FJsMoOfj()A<%j7!8cW3m($~wxFWC#&vGkzqaqPW%{hkQ% z#e#4He`iDIhuI^RZ=MdG?KW&(oW8o+y>)c5a@uv0KD0XIoDUHU72pu~1>qVD9;|!2 z`BpRcdmEz7-yZ)l>*EjmY`f(<)TGWhZBY%~O5O85k_!H1aNT`_l$yG#p9%6Kt7oZw zszI99W+(Ffnzr26igSjWmO7> zY8Bp5c$4(QeA@r+tHbK+Z?JC%YZPs5FGm|HA7>9XI=p<+P~H)6IsD1^=hb(o+P0=u zy(WF@4zlCSVr8njTd;|+L?P4Z=vHsQVV5gk-?>2JYFRx@QEO?3Sc&fKK zo|Q5ZDEm_ji<<>$+$^_lXKas*VQCW=k&CfQtORh}Eo^78b6;wuJbd~}xaZ}a#zF3x z;7jiFH*jL4`U7!z6ze8dL=5kF7eupB9=1nif8}R{$&N- zxy~~m_ScX zLX~pqAO4xZK|E}mgk5Qygehf^7=ylSUWWM6-S%{24y?PKTwz`;vS7dzG3jS$O6M@;wKo}pK3`~4YG&LmbJluF5*?ZVJ@C3Sf{>1~53X}kvZVtYW z=mXtc-F+kir4j!aApx}icJm_W|1reZMH*qEsY5UC;q5>#!o$bIhmgUcr>B?lwtp<4 zr=avNaNsX##1mg%PYGV$fPes=06`uPZ%1B!adB~8J^@|<0d8Ofw@;9}@1sC&cOS-o zBKf~~6dZi)yq!FKojly>|KfdQ>*41sjX?aJ=-;1zuG1mV=|3~M`}}KLzy^8$zTxHP z;p6?^z7@Q5lhAPrbZ|9MaB>4k4J=JYh)+Q3AJhClZ~n8; ze?l7iIC#r@xB-B^GXFWNe*ypZ%l`@Zk10+6Yf65h|DN){-uxHj-z`Y!Irw46xGwt^0pMnf?b%hF=Jn>mNY>-TOZwO#WAh|L*;t5Zc~O039CvU78I4zh?OF zzJHCE;{AK{|HTUbMzX(fsi0o1zCeY@NpqlsKMCFKl_b6 zQ4)qwjqk7W)@6NDL1X@Ty)+LcU)`o(YHwZ6S^cijvK`YZkRl6KCV3ylWB}4tB%?=G z2ROa_XzBF*Pojx#)a1`syPd@;?IGU_B?I*#nz|4 zuV)pt$3_#Ek;ov3(Bu@{8-nqZa8r$mwTk0lbhl@udvwxC)IC<_=SXa?EOG@>qLRUF zy)z?%L7ShFHDkl_Q(t!B*5AYElaL+{ZHHoXFA{nEcMz}L&O028HA?YJ^OgOpi9BB1 z#3Vb79Pd-L`N=*h(t##ZLXwCGlrt2Gu2xzYua1U<`qOZ1FbQ~JM_<}$oWm6!86LBL z)sTpJJuDXst>nSbVfvCL>b;5$ZWR+Uc0atKnW;CMfRH*9)Rt~UwtD9;?UJ;mYPpXw z!*sa8Z1BZ+S_+TnsQs+2o3HGBAjb2-d%B4Oe|VF*s8c z#;ZWeB+%ixq4gEEj(Oji9)yts-HZ+##&~U@hB9Z|-Q}W}sj$D#aIgrz@1B{cDeV&a zsyxb1namg~!_zDiAd~^SzkLrrI3>k@qe$D*%$nJOaBc773;9;HgI`~sn&QtNGVNtb zAtJ3gSV4+qrx+zakA0@L_NIR|OFy3~BFcSiK*btjE_L1yB~)(3S3mk<0~s9O@=Qd(p(ZF^VR6eiV6R)z z>$Tno7iHTCXBMb5S0zL2UAoqnCE^clIws7d`tnFjfLyxGp6Hi6*n#e=*0)^Ic`J(9 zM)|Q(pgiMNF>y=Le4YUgCwZ*rUl@Va%H%SRDWJ^ZLV9&$Sy6K@caRS{;W)2E^JIS< z#w0N_Up#77t1o}P8UJ^%7#bl@3V-LS%0aH|BVTFmnAASX^DCBRzK?NVD*HV}{orCe z=0+_OFjTFjPI7)NqD0rY)O;IP6oxH>{k|imS@BLg6GxCO z5dv7bavnc{cc;9GK%3Dh@&xNr3vO!(X_UfFGJT`4_erz?8vH;g-KS%<>7b5~N#IN_ zb#M6XJ3SMCJSa?cuz2CntVX+^xbX#Hv#(yxV=~@=fCk?B7=N}XYz!jYjrmE{a>@AX z;Jk7rZj5qFMKKPHrz>PwhWfc+!`h zkT=G2V1@!CA%MXY6UcI1$?&<}8yksc zGwv8)v4d25e;BUHeo$L2!c#s^aFQfNdL3CTv-oma-EN-hN`j z-8qJR<&pflGdYwo@~~WRQhJ14fvM;T;t#G{grbij?K82kNK_iO*mks@0Pl`w45V7` zayidHqNCbCyX{@^N2L$p;_#=FF8O4vk3~9OPnF#(j;cl?)d0pXXTmQZ`3!lR75-=G zsw}B}=sR05s%5W~B|8088CS@?+ zYI{*c7t+hG0A>LO8xx`sUL;OZW4n+p#pdrO@0-n|dv|awsb>61f8{)IHd>xB_Ob`*e{qBSRH#?7$#io4X4fSu6zt!*d0H20h2vC&G(GWKSg)n8^OY!EP5 z^e=&l0;QIIKmrr~3?KG5dN)2X#?^p&-V(Vc^B=2)ouvtO$Aq6`F299|s^tJwh>DIZ zH`N>nQJ=f())4Am6`d3L9NKX+Jgom~(HCr_YAzv`^;Zj-nfSw83&Hz%JyALJURR(0Ysc{|S+>B9u$)toqt2itgCHMia&gbkL zEj68{$qK)ZVFU+o!^tDm(@>W)U3z(;Y#QilVcVD`fe05{Ie(&!WHO^TrUW?L0T)=X zdG%-73D_q0O@gTNFWTwG@*qYo4FT*UJ_fnj`Rt@4Z;vm*gB*u2IL~+@K!>-Gm>n6# z0UsZW72?w*jZ#hlw%M`=NqB)G*9L;dq0MSVa8|8xGz!m3O59d4&r%lEdBD4K7)&!+ zT{1#}dH74|;}A^fvuU@ct|%@Apb=a>xzqu6XeFkCyRmGx2(~=QV}qtY0W~M?Ii@xZ z4_7ijenO@%W0P4THdO>H;8?MG2G7%liML5ch~cGF9`!N0^#wh&w8k;Xf^){dA3Cjjz91*yaB+4>4sxKC zDHJ$XVJL*tJ;?Jp79C~oOE)ZaJGRVIs+vUxGX{afs7IP!(zwxva|}!tseHh>V&h_| zhNOWETWRUO_6QcuoRauD2zl&Ggi1YS3dVjb#4G+Xd>_|nVjktGv<0k}iHDx)J2;$l zL&eW;bE(|cJqfSup+lyn>^!54Je{HS>=1AS3sXs`Rx73M_sYQy3?ysu`IT0iuHdQrE zvQr7#`V^Xo7p9gE!l`TDja(oMcOJ#)941MJ>&~e(_$#Wf{)m^~YNHf2Fl<3yseN>a zN{9bFVcAl8)fDJS*7c0^h&+|Arut!hgp#xLXQ{XU_92BLM2KKh{oCM=Q z16tdkjG&>>BTrkB{=P4%k?98o-Ucm;VEUI{7`wRNt6QV$#@9+xIrQo$#|=y=&NjlD z?HSq8pEDSRGYyMAj4$Kevlgky7buUjV9Q12S!pp(>3RiiFR9Gcq`fCG{KZCDLsH&_ z=by_k*i_jVbl86$!%(1@JxB97fB=~E6e<7vyh zr`Ei_{GLI~6M@RduKt1PC+IEJ&xz58*?(vAKDNyJjT%nfUjqb2XsQ$BHXrdOHzvGU zO~NK>J`FHd5ZL_mgl^EQr-bHe1pXo!Gj-jG-gWjn;fbS~!?NL1L+xk@0ta>EG;fV- zbmdNz{*?K0p~b@Yu(&WxHw%*Loj$V+(N?v1PK~LQLjGiwp)Dal#QPq=q@u_%MoH$) zHs=0QnnA?jc52vvzQv5#usz<^!LzF?aCeZL}#p$~F*(1j8-Jc5% z1t72}AXB{e%|VGW7+?yIa$Xh$3=Np7AALwGfZM?Y)WUsOd~rK6aZXlFDyT)Hg2$o+2>1B zmb}q9%#4W+Us~F9!=d3gud$aq%6dN(rk_il$a6qW=F}A79GX}jrd36?$3ef%xJ?=J zJTq;Z5vy`17rmo~tW95Th$Q=78>PzY>=PnoeQC{yT`9n`v)gJ}I1xxHarPi8%PAXQ zn%WT#z~30+%N|OLj(7m=Dh4F$jYG*tVnDKTSM}ZGa=xs4vR%7gi}}cJG#aHYnr}O^ zws0BQH0&JMHHZz!ivkddu9?Pwi+Sh@j;{RI2(tcbB8-@LY&Xxupzgk!$W( z89{#i-U4@kD;b0#K2iWzjtMFz76K}9|LDV!oL+04h+gx!R>W2sGX$b}Rim!S*+j;7 zrN;F+nokQ*%v;3uvF$_{w147x3lygaX3F@!d{XKpLM~Zu8O1q04(&-!*^Dr>rICvA zhXKg3!WD!pi8hzUcQHtP`65FZH4d}`N^bp<8jfHQmC8nqGJ9I$M+DZYAG%;eKOiRv z$s%^!;~do3(o@lWXUHSk$1MSP6Tdji$fiefNka@IlfR8fx=AC~9t*D%W4Fh<3A4`1ER8-Mcj6)3=Cd30u^>3l7!jM`PwO%a<;kbmQu@nF zChB;fxmgCxhwYQDzDpTQepsMX5-sa9)tGHW-4V4>8K*ZfjW?Qj3PMd(K)fB%C9tPQPOq6@na~#9*^udM9U62Q@HiMa>ea zk-qn|?yn@B%riVc#?hd%j+3_)JkMt%eb#F`G)-><2KTLzBIRI5*e6*hSvw(ba@dp} zk@jBP9>0#f)n)0h@hNkcy3}8xqq7BtCj$%jeS6>dm|n+d^!DL~b$c3iUa7xAq`4dG zKttLiY|~#!yY`u$&oaO2e%68=6o80T_d`7w?_>1MeN6Z6eBEMdA-4pj?ib7xJo>>!&{kxpKF@O(ZAzZ z@y^)cc&|F1GkyD-0kS&P`mtH|64K?dgIu~R?HS#3@b!p&dCA!K0y|bl;_2CB;TR=f z#MJvIgd6ez@&~$`&m*B%?g`vhnw+=ErB^!r)R4vgCsC!U6iSWDEmBEO>AeE5ASY!3 zp!-z~z^2fDJ_S58(QNR-f81g|I~x}ewICd;+pCXvx9J;za3E2}S1hyrEXi;rlfSL@ zIA7Vh)KwhZoTTe*nkbXAq9Um;U`@3>;70$B0o->?Q#Od{0^EUbWLP*i#tY;h-Zkrs z`8R~`=QT4dUQ|~6poke<^Y)!){6YK@h78wBC@(D5{>~l8jC;s$*W#6V_GtA4l4m?L zI$CvPJon0^ar8c_tHKW07){$C2`;v$i~auRTC0)W;8rD*uINsNoI31SuIj!@r>~zi z-T+ozV@%WWzAT!}yuWd>@N)m=o5FlSv}&`GMf6(beySlNajm#CUojwLmH3`JMz}u^ zX==ZRS;h624qxLc(3s4>NbHlM%)(gZdZJNmfHRr1L@O}{5SSZ7XHULVC4=4AcyBUf ze~@%z+}?z-aoGK+?a4Oh=;#PtQ@-{_vzqHj>`f7%xKAMj)F$$P&v28RrL@lR#6jUvH*ew5)8J)$BRtoS3NN6)3$^%{inxnT_6k zd%i_&!st!(iRf_gozb{Hf&F5-;e=FiSHwM7a|D2rq#2g6aNm^CNqqOytYw3_q9vpB zfWqEiVSW*6_xAb-kFm?1M=gMbE`GT1eD~UQc6MvhQD@H4c0E=K^UA(fk?tGkN_K6& z*1mL6UkoFx`L847PymaEwwp0J@+{Sl=9#H+z~y#!L!bK2_>o2sTBxPf9i3t*Zb>Yu z1*Sdr30)!28xp}?iiHoa%3MCZcmp#m&VkX6<9Q6Cy`pEE` z+xH=t>2q;PtOHx zFmaaF=H^@^+Kg<1Qar4OC7$|tO*BH_#c>2-(3jRn^0HuDBYzRJq%s^?v8j?bnW%oY zGPo6&A#9c&w@1DC!V@E+m>#FizkDfWKa4-xk#xo9pPJFYS%~cW5`<=^HW|SxspQOV zIIg{y(6LQ|(_*2F(&t%O;uk}1@(($orLAD{?Kct z3qfZz!N_s7$N)AVpefV6#B@(`Rj;Ap;q&SrhywY|>)3sB>X0NNV=X$R*6vo8E*(YK zC>H4=>roY1C4JU?^@-QtB@H^_g2$D0`gOGy5Vx#nD}N5I_bRRzxlShL#W2EIu}dNX z)3B0hVKABX0G|T-W|C&51q-GtD38~~;6e<;nw+5^_RcFG3^wY*Gu_?AsqCrS0OoA& z(lGBUB?D6o+Q)fHo-L)%+b*cOqJN!mg`tpCfLL-vRo|s{N0r z*2;6lAt;ejdw*ZB`0I1ErFj-*^3$48jCWo|6UKJ2j)wtYtoGBWyK!^S`@_t3J;$3c0uref9{io-mUX z)!3%#7tJTd-sT0y1Uy|~Uc+c0?3>xOI?Ltp=$m%0El>bn+DX?d8vLm zNMj>q5|7kJAudn_6u-lObMbq8cJ^{T&qU-oH1Wm54D1WiXddr%0qW3D*Whh4oP$q_ zHWo&NU;|1HxPOT0F87qY!>~swN5XCE8 zD58Qq#B~JH<0@OCFm}ParMMW}MiaxsL`m<7VN`{Fvg+K~x?a_ab6bzpmQh7`4s87!IVji3Ar9}inH=%s>FXDWn@0az}PG*Yf)4}cCiSn?62oy}m za-R4pJyCxe53*)UfH;n0c+H*VRmX6a;(LJ~^Et6b4!u#Ht%4XpJnNv`K>BZdNY%02 zz!N`S0aMOBU(r1YkP2V)EgG#=r=p&Byh^qML?G&2Ti;T<48Qq@^lbL2Z?bI6fV|Ny zGw7X3->-^eo_|7m(*~I1G0`v@LfCb6Lk+f5jKlfY6-krLNqdv{ro_Rqc z{hj2{Zk%#ZrGfQeb08Q)?t2=Cm!TQK5kcK>aIjkUy?6!ow00>v+Es$J;<>auP6o)`PL~a46FHC!D@+$KC7fOxfrB z?osA4u723%3juWTTUX7Nu|MBtsz|~{f=-f_<6)P68Ym@Cw4wJwIr@89Y-YIR{fco; z9j18Vqx9S@?%|!pU(M>Blx2Jgcd8;{-t^#BHTQMFnb|HKI=s5!a0>?*32_`=)DDWt zxr23`R#|X#?+v9FNK@fG7<`%u9V#E@@?ya}IiQDWasG|pVnlxwQQx7$77sC`ViXvC z%6NrBwLx{BBF*$6Q>!&3W$)M-XKyVipM9>(xIH7%`8ksp4Rq*;(qBYg>N)&UD;-@H9(n zDQdm@T64;$QRp0Hh@hzv6J)M7DNy}z=XK+%$z>(W_>xp#4`Z#Ex*SOZQQ&P=%VM<` zZYsb1Rm(X0WrmqJPHuPBJYr?v`NqMzej^rbhC|X?-o~t8(f7Xnx3kO}*8tV23I4c9 zgcqJN`)Jt;+*&BU9{q#7hFS3ko3ti3W0%r*?L}{E?8m*F7Hc|8I3%7k4Ylrv`?XJS zEg5u5O%*zrw1FIo&om(P?5wZUn0UE*;ZQ|eG8w0J4c>;wXN_~E?HkZ(fyyif8Tw69 z;Cl34xwHSMW!N4Zbhvzd{t4@E!1wKa|$j8Ui_hn*yQ>b?%nlL^t#3?)Do zGr)JbUmYoOiG2>d#_(>vG*IbC#jk+9YYwm3$9KVXHig#1E1(y;G9@asEvYxWDGecK zRXQxBLzL)VHjfrIu91FO?t-PijpdgT zVUPD{(jsS#viqqyRX=C9*vGyNs6B^IE{E84pKG#2=*Q-=YN%0M+D@XH^6$CxHUD-l zHAd(e8)w+*EP;24D~2439)~|pyywRPG@?m?VJHTHZlUi6r0!Tm0COhKpb9qyuAZgp z2R>P9bVlh0(m^yM`;ni6b#8Yw0^MmL{kvQ88P2PCAs2EN=Lz!+XSG)Y-1`nU^Hj|V zWpcv=iU@t#(<}>B)u+p3am;m2xq&izxUCsAT!uNWt!m39%f3%Fo=VrlnaAleQ$j1M zSI`#HdajRg`8*W*zUneV+|ZF_~f|k>aL`Np!BcCGe4oDx_sfCq~5^7fctaThJ!l z?S(;8%9G|*iaN1pky`hztEs{Mg=i6rNt40gEqM!x-I38keRzmgHI3=cOvD`E2%=8v z3j=~?>Q+)OX(b;x?TZKr@xIu|5k)+_W*E_ipS(ZJf1#)6`{F?8%L~?(@jYlndQ$ax z#c!LpPv7lbl`V#*VD$wGz-iMy5`wL;lH#ZM+{-*%hnEPMI(@C1|@vBDRUzjK+3FXqW-`ze;;Vo3H#NN1r(ZO_Z!1#X7 z_{r1GX7UtY?pw#*4&x{S8S@`mAIZEFLMj>G^6@%8q;?u5r9&XtN;`9Gq^yXO9|9j`!(F4@DBQIke}H7CNQ5$^Epx`?Z*j zy6eP!Jp?(ziCruzoe|tGa8h!`#ki5&nNKZPvLqyrRX|~zlwovr2sns;?=+~V>$|BNiz?mxK_gcB2{?Z7c2 zHX7vg7bet4OPkd!FxK{-Bhkx=Gc}^W+>^QY&Xo8PKGoz9b`N8p{Bqg}C%XSpi_)A$ z#necL37$^i5kxc5Na_78SUQvuo{pckO@JY{c_BG!=;+@3``jJ+O$A)EA`E6rYozFw zh??!V+KN6OO)SNdmuaj_*;h?O9VlW`(uMT7OFw;MjNm_PXTc&dB`hEMC zAtX^pzCFmuS{2t#^co18%T~v%QxTC)6-%6Bii|B8Ypjh zV8T2HqauzA+1>2s?svwShn^&L850Ed)I(DZZEfe%1cnzgTmhn{(h$exM-7$ElmT0hynbeQd)5kL^6=~+u&J@0rY!uV5y45?7H1Px)r-jDd(Qc@Wsgw zg%QFNLW+DpCVj!@-uLTUi?@2Kt0N8+PEl?py6Rj8Dq}?Ek2Ul8FZERwWPs~ zG2EhMmq&M{N|Jb|++lGl>Ep(yEDV{+^4O;+v*)4?7@=FoPiuOjGt^C(-C@GSaS0`7 zS$clLxNFqbZ$tT0FNr3%Y&fR2Db=LK%pJ z9CdB0*3#1l>)N@ke-6z4;B}TVT`|sKT(LP<@>p zmx7;ofKQBWX}1z6j~nZ#k|MEkI&Qwk{o*&MuvglfT=GSa@Bhvs>pk>Z|?o z8f8t*BUy8}TK2mGI1p0Jk<1k@Gv)^46AjD$Scyqepig}rQp@~#EAfS%kBsM|vC<(l z{zn!)CPY2q{@EyzfhO`~{!ru0pVqBFgIwozcQqHN{Y*AsHBYBitvoC3j4qlLh5CY> zYB&_bWdB9fh<^#+D9&Z_9&sFz_*vM;zd5|d#zkJz9N6ZtGJ`X4SCk>4?f6@*3&eK@ z644Uh2+6AMFzl;J-Qt!#ZU)nmG~VG=FgE-1xC|3uG(Zk4i4a?Dc({iUpw_{l;3{cy zTGg{#xK+F(&>*OyNXa=)Rx22<3=<4{l8rjhw_K&pOm(N$%Kq%@k&WKgl0%CnJFMp1 zin0e4Zk3kdMh>kC$!mGqzj$Dz}82wmvDd_-~cWIv9SoRI8f9Q@jBn= zQ^Ei#5y&J#*OdC5qq5u&0q^FNa>;=Ywysbph8DxX#-OgMspioE6~1H@y^`X-PJJJp z|Hk{d*wxF6DfX>z1WDBBa1eA^1qto4b~a1*UJ`>F#U(*|yYRX9ctEB>D~=(y*k45v z$yGN4Knx8^fT4vL_^?R{FJ2nI%j(w(j;Vd2=&(=!<1901ALCQxqTjT^KwJ>V5~T~|m9g8p9&RFgs?U$3Cd@_H_iJwo zUR!n2_7h4z+VY2aN`M)zep%WX{3Ln$FgQT>k9e#o^5cU!pQ)m)>j-*{D39T=oLDfV zKpkbyoLCQMymSnfyfpn1M-x9xVCwTXUsoD3vzYf1C|X!0Byk5g%abNNRlPIsL&59X z?+>iw>`LU(%VY0dT!vn~+@T60U5W+b@1oGIR8Z0;d~D1?ShLE}Hmc&@05A-S?zGq1 zHTpT(r}Hu`l<~8OQsgQU$S=zRK5OCYM~VI3`4{1awy!}z=Em{hVkLY|ygizyo^X|7 zOAF>n6pq!Oc31OpB?F`_$}Gp95{+n)&3I5xXxWt5CLGGp#Ya^(zztL*y0g-s%lN!< z`m`JBCRPu>i2^IyQawy*_z}Poo2dC>b?}`?OcyR>O#^xUsLbi{5O%l+602^Qz^Me@ z4yX0#-dSIYsVZnJ9icGQ=JZhZ1dg1Y5GEw8WhGMIV^wm5T{rAM2;_feXSU}*Db7Dx z6qVV!*JjtS|6CG@l!J^L%e~+sn$Q2t*&@%O!(=qD&7Dg)96_b$!-1S z^AdV`RScmBPR33rKUr|3q3sKl4xt&=%=Xz%nqoWj0;31Nx50Fbpi~xF2Dq?!xFSB! z{O@fjkIR?EW%#z1sBjTK=u~PXYe_9%!0F#mi2`y3(nTItELxC}sZHKtAZ zPfNG~yqyv+)O#~mGR{IiR(%8s)0=afrDl6DMQ-OMNsR>9JMm)+i z;Za~q<1x{Fbh;eY?u|E1^?Ca(zg``#RTmz{DGO4Xz&?{&s&T&`4%A}e5XF}h>GUb; znNDE%GiA8Ja`_S?B8*x4Jh36fawP$JmF}4J@TrQp_!b|dyk}ou3r3r<=@R2DsqEK# zl0Y)#22zwB^GIdYQfX0?%|JtY5J2S!p8E4reQ2Vxn3PUWrW(Uz@Yz*&N>LjgU_1HB?P z%v++Bu_GTpO6D1=-4oz~JDY~Ke4pX?vXO`9q9D9WOMwYC$9_`XNKTVoxli@!kxp`M zSuF{+hc2}W`%yrhj`o?7NlpVZ?j@j}s$)?l*t~!9WZuaaF@~qeZ?#5DQ3EbMp%ZNj zLpf@%7iZ)Yg~6>j7(ZbpZp<268CUIQ>!6EPR+fsjx{s6TolI$Z@r3t&>=6#5sht@>}))}F7)}=*RGqs5nMF{%|jr)QE??c(*KpV$eIq>4e z_B8K`UxXI5225*|s^S&+uQRGDm>)!~t8uK4;{u$R0BEEq>rc1y0FBh|e3@CTht}ag zyY>C^iFu*of=g3*cpR7PRX`vflq~`D&!n5B_61NC!(6M+)VJ%&WKQJ|l#&4DG^O7W!g4a;9bJaez*ufkGyDf zzjS8y!zu4_4#lAcG?C*}NWo--rRtJOmqRQJ2Lfmh3Fdb<-u*HXmm;|ObxjI}@lo*+ zV@p?)*zJvjTqcZ#{p4Lx40;=J@I%Twai8x$g4gFiKe~3C#IE5`Oe-{}EDCCLW=vX$ z@K6wUAQuONv0*R-ua#(HuV<-Mrcs|>}@v)b1DOCq+z+S5!nEA&a$VE65pfsErk zay0fmm4WzK!CgYY!vbHzV#WMcx)_>FEF~LiOZ66AS1n}&pZu8_-kPE|KYiQ`xqpz0Owl_Qa4iRpc9p7xHJt9{vIm zyqwfJu8agbljU>5PAmHSB^2;LuiZbd(3i0M&3Xq0QL%h0i9&>_t@z)co_8F)^pw)oc0Vjzbi4$M%<5!$SJ5B*rDMrx~h==xgxj8T&vD^)RERq{xhr1`;3i3P?VlY*FwtV;Q zXKU#f$?PN!hvJ4$lk0SU=v=1A^hVw^Te8eW72i+g_8}Zyo|%^;*+N$-TQ{j_Jl#6 z+<$9J@U&+{+_~6wznyBtn^mN_+&=v6F^J3??1%Rge(2}+erDEeO>}b@fw$D;{=m*q zd%rSYXVB{Vjk(eLeTtvGE*pBDr}#2xyZ{u`9Xev-x74~^F-xR))fao2~;Sqn$Z=vyVTfT;pGiI zs&NqmV|*ooy(~xmzWU887dCGWYybKj{oQoLgz4NH_qzvsEU|(Y#aD4Si#3{lw-IrY zwDMu)wgfWzm(kFSShD;;qccwojU_7oW>x{!dqD z71!4D{QYk!6f158in|wzYmwkq++7N^P^>t##frPTJ85wZ#hu_3N^rN}0Ybt*{XKV2 zuFfkLyXTyp-JP9z&*wbXGu&mL&|DYf|#1@Y5e#|)uXSirl4293jeg*alu``64(BiC)$q|w9I{8i_ zn>s^dhxW*rO9{PG)pll0&>CMDHiXnIPYQd(X|8I;-A+$wB4D$x{&f9@oM@4N2FU^W zM{i#9R_1*rwE9SH_(|#m%DvZ4Rgfo&4ns%9IDUCyV>`Y^7^vo_>P@X?XE^qGo$%G* z|8i4&q&PN6+iPmN!*2eln?SJaHvE){hX>kk+NZZ!Cf@L#I~X{Ls6-nIw9kq8Ld+XL zhrM({cgjsWU--7JA4Qfj*KX;e@!UVgRB{W~y7Q5^yyRsfs^xH4r@7NLu%Vg?4&KB} z#cBFv_QLXk0LNv%ahEOr=pL)ybcc%}qyAB*fp7Ev{$Bd;7Oul|qNNEhty}G5OsTEM zc{c{da=d+ygM9PftUo8>EVJ4EXNk~L_q^Aazy@f-eZa9(VCa89&tW!uA=g5;LG{e^ zX2#7$kx(NV#yOam_7^&AtK#G^OHOTBf1yZP7!U|Zbuq$Ou!;d*DXD)F9-1Wt#7y5$K2 z-yX1_&=Lz~ukPGL`5oIY7+crmBAz5?`!$0sFUvcowm)|R>T@>!)vam;C#8|2i%NY$ z_vvA9rm>nFkh&V-H9g>a0uFX;Os&0}mgJONO+u3dlex2UAUcgH?IlKzg!H#hJpNgE zoHQ)W%#2d?^eB_7anU$N#UUaqc{^EsETeLHh=G%sW9f4OlO@)1ZN)ok$CO3L7q@US zjuV;DDoC+HX<8SrE=ggP9q<-G17El+Xru*cfh(Z`Xy}O&&+ryZOGsv^?!I(2w5r-U zC4F8W$qy@D1EfXx368S;xAPD$*{G!;%G-Mp!rnW*ncaEPqZF7!CYWH~ z({@LLT~4UtLG?@)iw8)wl(dZyU2yW*`It7cz8w&N$R8GpI_>bI8eu<-5O4<5Yr zVd?fO)=mRNY#jfluoKDj-5TGg{Pcgs(NP)34`}cs zhw!M?CGy>1V_?OrQez-u+U!Hva z)1X($2|q;<6gPE^%HVMxwR*F+Q+6Ss$LP6&C`{4huY|rF>um>S(%YTvYYcv>!Jj;< z;M9R4Y>s}*IjkJSjc!Fu_kJVXV>h&dyq2hgRA&cRf zl_h0^7RR!VtaKYNEG|L9KqNxom?83|+Ty>ZdGG#cGi%>vQRg|=D-DxFiV8n@)#W86 zTH9v}S+NVsGTqK9MHxdQ4w$r7xe>2DxnT897~9-LAK<+rA+2kApBp@#b^>2%SQSpd9)?8?O-m zr9B2Bu6j`JYJJU}D;JzJ6J}EFbW%*p4!Po|w6GTNjWg7giJ6epPq_6aq=%Yxh?M1nzhpGEWaR$y8OK|x0%*qTEo8;RUi6nF zCl9DGzF`_IzgRdF$)6d@Q#v#-`*L?Inc=JA?UV1%_ z6&YW;#QUQdz%+&5g5Q>Qhue)p5u|)}^Ec7ELo&)%23f=aa_8O1ZYb^K3F-cfn~IAy zCMoHmk}OV`;v`uD?JUpsjS!?hULem}zru~L)Zv)<((=MpNl$n-!^V+gK1yAZGA5XLJ}9 z!tK_U(`?ZnR-{M7(Q-pYJ2RXo_j#=m;80wqegATXS$89G-OKX!@A!3&p$-pjDXl~u zbq~Cazq+ZfDS3Y6oe}#K31EpISCKXQ_VMU+8j5!~ex^2K$S4HZx=MjvS!k%&+-ZG} ziL2@0wbsOv#Zj=r2wv+uT(V*G2@DD<(7jHyd2n&&`CWSMhr0m0^;kU^yCyIc6fy`- zi)T92axXb1tycD8uIX~doRr?)BVI{*r;Uw7GJYiy5d!12rP#$Ae7{L6Nz`&Bu;LAhkzBAv6xzZXp2*U#l z!BJlPK9!MyD~!26gHqYP+tCd-4?!cXR8(COU8P@y0?el&hj@+KbFn!el5f;?*opRd zfh_>E;VDM?pU(awPY;o;a>)5szU}^REW48F$&44l(9j&d6B&aGCC<_=fxclO^gH%E zRhwY{!`d_Vr(Z=-(1>!6fVg8*>CbE~YRjO_LuA<@-6v=6DRT|!GCw7=#lCF-nA;X?3Wy7`(alLOXq1L-SFpRHuX5Tc?5 zH=>7J!LIlEIHYBQJiFIj{YBz*R7;pivH2?R2jjp4T>;1h!DKJIXFBRJ2C99*j64L~ zgqMC;`xWsxf8eU>c709my)ceg0M1TS+re+MNCdO|Qot-=N z$_LLKP7(k8$3Xc{3jkv&1&u?PAGj@DB0TVgy7_{Bv~(?55iLAm%QpQNcsFqShq=-X zsuHnH-hw$YaGX}w*Rh~*H}?5itKF}VJI(V}#{R6*y)-YBka`6#j4;AXaX`QqR6RGbQDA{`JyybtS zNT~&JfE+e(b5XT(CX-{xfq1t+EAtb-9O_TSVU zChS@@Qps0ue&cXp;oaVE93KY^hS=K|1a`!55!Rc%zU4O*1l{-zzc8>zcz&|ot!u3+ zyeY&SnWE&=1r#%3Brog`-O0AzuY+%KsjmjCu$8c~ds;~e4B2JfDLaVZI4VM%90^hqo+3#`00r32c;J}5BAF* z&B>iLp`L*Eqox&ngV$o`3;S?rp>ze65?5kNmH=1k^ij%_Z;>QCB~6{QT<4Xs*tUI{ z^2C%^ii+sg{X{Z2w4yspwu{EbsU_{xv3reN6^ayz2H#S4KD8mmsPI9t9i0y;3tXKM z@-84|WRTmkAhgxe__#nBdfq?t5CI` zT!rb`{}LKqC~p2dJ$Q!R!tkxbNrzZvMo8REeXZ(0blupC!1ePUeLn@QUA$ubz&Z+8 zY)4)~f#Oxir2dGV&91zO$jB0JBR%r;kce?yXrc_wXI7w^MxCP>jv~E8{yH zQHIQSDPhYpYfm!0(3_*7u~MtFHdB;|Z8mm-Q59=)ZEQ;--_9R zsi_~z-P3u$nm=hiYQume~%{j%jWbn@1zXeExfU zraOTr^I2lYhj(oI&2cZTmwiSXD4!qim0IH~FzVi9FmunF~cSMA5|F%2G zqNIOTmD8e`Nk_H?w&JkFZ=JZ?rz^GwhQT6hV81+0fNPR!JwF2gU}L~okrUMMwCM9d z(AaT9WhQ%~uA@zVI?_JK5VB*pof%XWp~0eGZt#TN@ry3f9^vL1w`L?V3>)TCxTpEt zs=p-+(BX>SjIk8Ge_QfCFzwZ)0giMF(MELf3fM5^?&x7eri&D^k3-{$!B~|AJhh*! z)&B0ndlFlPk~zv7)dtt4ym?58^=4!NTw3WA8Lsl{&vI#Aklvbj3_Jyj{o`H zJxsNCD(3oQk$M@eLDP4se20o4RWmCPy*s0#?YIOQ8Q5tmVsJL)u|W>#n_TPp#FhCl zdIk?+in_2DV%BvZDMg==xU*6rd2l}rPwQ^&X#p)IZCDj_p1Ecjje~2|yNql#)*E68 z_Lg>Nee*dds&tI8bcmzF;Bp_LUfSgJ$|<_ynLmyzJeaFBq_1YH<&Ca$yAYUou-F-z z^w$n}^*fI(nRP@0=OTve9M8o;U--KJAQ~;Z+UE81=}#L$_n9 zoOKrIE{x~|lym?_AG{CDn*%}ou9@l9c>z04R~qiJ9|MkF+Sc0zQn{8V)QjGLDQ?P^ zij`IHJzC$c)kTMqVtJ!EAF_12USdhU65Y+KTSJt8Htzg19ma%{VZ4~XyITuSFTo?3 zo1*Mde{ucMh`nW+>>4TESO0`?nuZ;^woY=nM>1aA4WAVc(z$lSW#*|U)v_XmY>e+2 zSQzGY2L0WS{uIi)DZu^;IjOgHdevx7;go(_L`^|+`pvWonH*EUEojb&tVCoyWG~hy zgOT6I*1QZk+Mk~k(}F1lzxCeQxNevEw7WTB+bDN2GC3#H$Ts*YEuhnhX#snizi-_6 zsI|cK1ZFUSR?vUepkrRGJb}UH+p8wlQ&Z)JZ0I!2F^CzL68VfF$6DhX^jW6I$fMNF zRFWyRRn>kI^B0D(OH6aoqb4jng)YQA$LE^NhVU@{atj|I$H!8az+&Ngb~^#?)OuQW zC#N#0C>@gfD`1`8>b4Rdkra?1GE7P;!pC5IMP%`elpJre<#)a~c{Aiu3V8=CKu5%n zVXwa(*`+h&B2LhPk?}lSr3cVikq2ZnxHi9Yjd?zS`rDf8K9|tg$5x6L zTpyg$)joTk02any_f+Vt)*LsOy?FJo&D2$>jU|Ukw^o*S|9JVebqRG8JcxhjwT})n z#1RtWw(EyYJr+bCv0lct)e9W_2TIktii^ZKa9iS<>9$=DMrN5kK;DHUQ*Ws_c^nPb zs^6tgcXJBJUrXR0;bBx&O2L9blLYR?Uw@0=RL2E`S2xI*b?<;ejSl2n@ZN<3~GCLD*$el zz%Eyfi|=;@Mwao2D>#Yk-wD>HBQ2e8v1Lf#z#|Lp!tpr1cd1kp>{0n8%7gZ&t|Oc{ zD)6X3)DsEOzp-mO?Y!8?^a;tC3S=3BM%L`#bp%oX3^|iG$lUVoW!?SeL@G1S7n!9K zuoBUVzSBn=?rY-31POJ3)A{8)A*JKIrXNUUfPU3t~z})GyNtAZu2$raE~>-}F|by>ofa*b^HLRjxMmdvLy@@)(j) z)AU<*)tJr}84ihAIk!sCl6jP!)?#;+e$#JnKgtpv*7Nu`C7SJNFGV7x2vf66y}0K} zmO~&(S6}VTr6S&G`rXRI4__VT>dVkSmjcZ#2FFf0>k+ykPaczl5X&;(2<>H$yG!bL z1LnOMBX2!Q3nzTqTNy|Ok~MsGYH4UI8lwOoE7ShW`-t_pnXlb-ISy5qr9!4v;yol+ zWgV>&N6>a5;I+To9P9?r@I1xhHRMSCEd({YJM7+y5IF$goD|kp9(u)~72WnNfVvU* zpf296jfX+0DU$#6A7nq0b+vn77qb|!ra1Ib1R@KbK#U;h zn_DD&9S=!H(=oy6-oePw8*n0NCcG^|2MM&a>+>DUU8y6=wqmt_-P}svI(tEB_y!d& zdGWI8&}6Xqe?HjO8=36o&*wq}S{?_KfYGe|lF=g!5c7C#=2aYi{$FGB6QJ`G5!h8? z*7_DC{ij@Q`fUld@>v({#hRzOh#%CwAJ@O6EjJaLjU zC6?#Hxu`{otz2k1J4vq&**`Qg}3DhgKyNb!l3sih4qA<99xLfdM*q4)&YeOS4 zU(Vp5HZfqmE|Qzcz~dG}Zbq!sU|W)8I{dfU?Bf2elN8&SVK3`&Up<)UViPwQNqGge z`0mQh75-P{b8@F+ReJbv#fK8&x3R~S#CcT@XS^nwYz>k7mQUxCuDm&hTOR?%VxMch zh63nTkzrlZ@>P_26#e--$RZFdSwKG(WuI z(#mBEXT;JSkt>ROr|(pxU7{~}V-O4ei_3an;0@>>T#jZwZ-<&c?!`&q$&?e9wD4~b zkd4gq%VGl+lvp*XsYhrIqfKT97=*rsGWmVTn-+IX%X%_1_dZJ5uhPl-I4+lHz(wpD zKAo*3hz8Ad1V)A6Wy9w5Mpk>#&gjJ(SG$3$HV7Zug{i4-`#ze; zGlrF(pn1P76B(s?;DaC2g-R|t-$D=R11<4<~^Jm2v3GO{mPIxs?j^hXYhTfNcu zBOr5Z&B()DUU|ptV7dt#IY%-kDA6NZK4Vkp!{AimC~!bGovd3rJqO@CvptCy^|h4b zp}kZ0hHrj8XD`{lx>!nE;j|ExPlw#2{stv_Q{mckLJH`^$jmk7e^d$?foBT5i9wRO z#$ow8W9lcBKqu6W;g9e<3OHT4grSV>?W>5if=4Ueo2=8EgY;+D zOHN!1XsDA@yJM7W=xrnq96}on%tU4@-`YKHY`da4*l!grG@M}yP-j3jQ246<+zaRG z^McQoqs?wX9Or3Sws|gTqH0NZ-PZ*fJwZs5yxBUUwK#nZ{h@EoF?}R!v4=k8j#>o) zUic8ovwB%^Uuk{ruJ#-2D{HwBa^&ohE9Q zbWR~8RN;KxirjyQEWLO7B?K^GB48t(Rlk-84qZPiWis^oZ~#9eOyLP+#F}6?0-r}eSayv7ZC=# z3GDyc?WE!9QGals{YjTp(k@fv%Nz*7^5o+XdjnF~O{J4~+(zMQum^B`SHO|Sq*kg} zjQMm5lT^WCpZK-2*FcMyt{h*I-d#(DCQ)KPOFR}G@f$8uONUB2?d)6RRda?-#_XW` zHSBZP=63WzSC>lBC=dqir$DSfpJ>%03J<@zPpk|K&LoT0LeXqH$nA(5KUjAA$-Pa3 zmJsVsN)5iQiL^)IlG|E<(1v_<1(od-Ll%1I9}qy(N3o&E9ihqRza>O!=2iETeQ5?0}bkVX{Y z&S?mEEZX`pWp3R<0&3ll^0yz{W|Fy5$b|c90#^wWWFGg`zJ(O~$3T5{rW5)}Q8`Fd z1yp3$&G+iw3qmFc0ZM21)mvx7sf@Xj?u%F!nyka73g*s@MQ3=1U zd;O#`{slrQ6EgZlT@vAI>Fp)t1fk_F&qV+VNu&yXwwBtiKlf18-oe zBVJ=W`H=uy9O#^x&yoa0sD|}_x(Iz4&#dI{rEqe&44FH8?Ne$iSHz@>x%J;OO5#FT z0YUk6l3Y8#Yatk_wL?YXLpK8;OU+)?HWx`f>Y(r7t#}5ItYg}4%yvj*bTU?$e{b{4 zH0g6)(1oJLdaAC_IJPT$Z`xdBjt@rBH;ZLHw}WQHAX$*-K_*;wI*x^ngRzc&Lji3s zJ>dC*x1&ScMF&-elloeSdTVUDS(Np6(XftQ9*fS&sL`f3&J5=}EQk(NFi(j?rgdU$ zwl6>e-=USUsIt4~k7d_a#kTWJ(Bb0ziVTqA8V6s<9}lAtkC5myuHvYUEBnS>K0FuluwTE}j`l*}YTp9M@I#rx zoHG&zKE}O#TuA^TlZYFmk)@yZq_pV;FC*-0&F8mKjITeN)EuNIcNPz0>&I-E=(~3; z=)Mpo;~VyRha`Bsvk1*3zYc;;^NlInY(1vau%@cZ7Tp@oy`mj6msgm+4G@(y1j(t-)Qj=r(`5tb6+8IgMu zmm)D+!{H=m8-d~K=dF=I;#mP}Q`>(-JZ{l|dQtDb`bW`<@9;f-{<;+R*03A@OnkA8 z8(8Q>X8xMPII^n{TT8~#?3X`&Oi9OMeYZi>WOUeA;_x05>>fEXHzL!Qv6a5K|BWnp zy&@6}5)lTR8NKb1Sf>sH#tfw4{sS-RH{PJ_`2*C_E|*o9x?EAxeXLON*|wslYCi^{ z1|?B^xk$fd5^P~Yj8{Bzg)tSs{~BH z#5qqz2~hV>iniyiK7gP@n z$_rsA%g8-%394;TZfoJ;vh6MgB_X5_A>Q+t2Wt#HJU9y6w#A=aM{Cce+&-RUiL(n} z1rz=qdwzz7LYLn>YYZ=LH|_s^OEb??)V)(sqBKz^1NzCMzjyYC)g+tav>&;SkC26( z)&8kPuhUHAi5|FWE!Y9Br0YGlVrDNKIf|c0q_b#vRK#IF?$;c{X>tU3&+!3MG>7M* zqKN{^J8Ra@VXv!0cwsF`9i4yJtCjA<6n!{IEezLUvp28$GYszsbs)=j zYMOOA%yo++4Q_T%$^QTKYze#U$ch*Y7Ap5_0|yj7ma}NYzu(L2Xz%9v>`s7%0_d7p z-rcYpQb7cGDI=lMvv*|ygOlSQre_I{9Jab8T(#K=YLj6hqz|Xk-)j5FYX(f{qV}%B zI!ibjJy%N=+B_?T1xJoaPjNjq!gsrU-kaQo$#FZ$5uX2}bEThoCaCamq~>Oobl0;u z9NZ^vYIx&)>>Hiya(1${_M@Ebjh8wa(l`bZEpt#JMtW2~wo>L>3?M{t=CZ;W5R zS*qi+ZF#5cQV_x+ZUaL_v`g>q?pDhLt)zckuTz&2qQ5JAj<$EktAYAyKdP)#!s8D= zOv)uerjr|Qw1{A{k9~OHkY7~4^)1CWa`BvNb`>%v&^@f*A z)n91ix68RBl}K@yCT{$W$KNBd7avr)b(ken78baDm;bVbd=mU&S@K#;!qyBW(&*vT2hGes`_wsY#bV2e-wF-~Dw^O;|I zlW)Gy{7pd|m(Zay*yEEd#-|aJzMVc-< ze6yHs!kaEbi}|nRFC=f4JT*$SRfk{NVS+70*8T=HxzF8nPIisEWO{aXD)7mth{{OU zxX+gZKs+EvwYT$SjGI)+u=OBX!`A>4{$$24LzQScv~oORS=EgG{+0pu<~u!$e1}Pj z;O|Tj9TmpcC<4z03*}BF9j(WZMEXG_JsLP%-Kt%^o$Rl0sQA@z%Iq22-X3j@+<75h z=rHdeQ0k|nouU9xg>0Hp?`mdmcRDx$-P>+iiRX9i^4KyV_!+a%=cqWd8Ta!7p-zv5yWU+82N5}m(HG=v~CjY3MIt>mbigl?ZT#3#H1s6eyNJ< zGnbXwv{Hn4+z#*R54Ey?3oIcIkWOtQml>I?vJJiM`E{5Tro!|H)D9D8Ck*(xWr0FG zh5mWR;PHFzz$K#7c-K;>!DtZ8{8)lKU5@G_OkKHlYRmB^`VsbQ!|pSAqhS;>k9>04OA^-oZz z+Bp|cm`5UW;b+E{q+@&!B&_9cGe88R)(_Svf*Va0;#?;DHcEXy`98Vzi#zxfby$K> z%s}>8SqiHl72C}JR@$#$`?0lYrjBpZSqyJW8+VmFV_m9z4vcGPF41bvXpSy=QE{I~ zvW4xHc;bgtfE@PpiL{w;ZJ}~&v}=RcTyE*0p0rFPhP=)G6qP-y(?YX2CGI)c_HAko%M90$vb@YVnk$F=wYdGNO2?+0 z(#^eYbQtYcCrkZjh9H8np87y09&#*}`=dXbka$p6{rZ`oZfN~n(0M2!dLYU~-~G-* zpTG%+Yn?qFj6Va2`Ek2|lU682&a!Q2jo9V1R4pBEx*`nB=_m_k+T2I=fYhWd<~2Lm zsBA>h^WiZ#1O%+`HaB{6FDm}<88_?}Ms~&MfB!m=r{n3?8@C_$enb2rl&+M?`QJW{ zs=J}LGGOmU=|yM(Ak&uxG+V&Tqq{ zV|n-Bhv1*^5B_9Yj5GuF;2y6eXu2>UmhUmcZ>9bcHfZp4zSfG zr31(Y1(L9pN*p4C9*(Ypcwe3^)Ft=X2AE<~kTT=_k6352YSC~?gN(sS&dt2xm%j-Z zquZNGM;DhCVGs%XkLTtc_!zTUUZ4NhgPj7(uSJO+V?d?%Titq@Cr7)7d2#DsKWQg5BMYK0-ti*N^md zP3L(3j0uMgWlVu#hR7y&5R}c1ig<*hr?mdtOmX7Yh6^lPacAd^YnY@Cv)7woPn{VF z(n9KGY6**#SHHG*^{w}xqoHvgP<8wwwfK-I_0MonShR7`fpU>qwrD?m@0a{aNq}yw zCwr~ZD&Tg2-5jh-aXgd@((`dd6kE{sP)co>f%Bhw@+6wj2*c3WRU5Nk_p_Ky@Syaz zKl;{EoeDQv{UV(3=h~-m^~3BVK-1CjR{Z+kH#(fs!krJf9PDaK5#G7-&01iW9oECh zx~PlFIc?+~=h@mrQ63iw{kyNfO`l!(a@oiK_Y4gkixBn4|95eh_#5MWvObQd#MkS8 PU;a=5Xe!jpS$+RMxRri9 literal 0 HcmV?d00001 From 8adbf560ba9b09ed4bcb252c267d1e0822e7d2b4 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Mon, 3 Jun 2024 09:42:29 +0200 Subject: [PATCH 20/67] Remove leftover files from repo (#3437) --- .../api/arrow-continuations.api | 56 ------------------- .../arrow/continuations/generic/AtomicRef.kt | 31 ---------- .../continuations/generic/ControlThrowable.kt | 10 ---- 3 files changed, 97 deletions(-) delete mode 100644 arrow-libs/core/arrow-continuations/api/arrow-continuations.api delete mode 100644 arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/AtomicRef.kt delete mode 100644 arrow-libs/core/arrow-continuations/src/wasmJsMain/kotlin/arrow/continuations/generic/ControlThrowable.kt 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() From 6e4b0af4d672ca328ceb47247af19aa042e772fb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:41:10 +0200 Subject: [PATCH 21/67] chore(deps): update all dependencies (#3445) | datasource | package | from | to | | -------------- | --------------------------------------------------------- | ------ | ------ | | gradle-version | gradle | 8.7 | 8.8 | | maven | org.jetbrains.compose:org.jetbrains.compose.gradle.plugin | 1.6.10 | 1.6.11 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3f10cf4a3b4..2360ee60217 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.7" -composePlugin = "1.6.10" +composePlugin = "1.6.11" agp = "8.4.1" android-compileSdk = "34" cache4k = "0.13.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b82aa23a4f0..a4413138c96 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.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a42690..b740cf13397 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,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/. From e80b8a119953b1266dfdd03e507c374cd0f47b8e Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 6 Jun 2024 10:15:26 +0200 Subject: [PATCH 22/67] Enable WebAssembly by default (#3448) * Eanble WebAssembly by default * Auto-update API files * Enable WebAssembly for arrow-optics-compose --------- Co-authored-by: serras --- .../core/arrow-annotations/api/arrow-annotations.klib.api | 2 +- arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api | 2 +- arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api | 2 +- .../arrow-core-high-arity/api/arrow-core-high-arity.klib.api | 2 +- .../api/arrow-core-serialization.klib.api | 2 +- arrow-libs/core/arrow-core/api/arrow-core.klib.api | 2 +- arrow-libs/core/arrow-eval/api/arrow-eval.klib.api | 2 +- arrow-libs/core/arrow-functions/api/arrow-functions.klib.api | 2 +- arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api | 2 +- .../fx/arrow-fx-coroutines/api/arrow-fx-coroutines.klib.api | 2 +- arrow-libs/fx/arrow-fx-stm/api/arrow-fx-stm.klib.api | 2 +- .../arrow-optics-compose/api/arrow-optics-compose.klib.api | 2 +- arrow-libs/optics/arrow-optics-compose/build.gradle.kts | 4 ++++ arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api | 2 +- .../resilience/arrow-resilience/api/arrow-resilience.klib.api | 2 +- gradle.properties | 4 +++- 16 files changed, 21 insertions(+), 15 deletions(-) diff --git a/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api b/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api index ea9882b154e..6d01ec83677 100644 --- a/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api +++ b/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api b/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api index cf8333be1e9..968a3c71594 100644 --- a/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api +++ b/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api index 986c15df535..0dcec158671 100644 --- a/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api +++ b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 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 index 4954dbc7142..793a3be4b58 100644 --- 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 @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 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 index 5f99cfc5e59..b9bf6cc1a91 100644 --- 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 @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index e832f0f17e4..8a7fb315508 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api index d84d691d2db..dd983f9b9c2 100644 --- a/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api +++ b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/core/arrow-functions/api/arrow-functions.klib.api b/arrow-libs/core/arrow-functions/api/arrow-functions.klib.api index cbf1081a6c8..78b1a3a11fb 100644 --- a/arrow-libs/core/arrow-functions/api/arrow-functions.klib.api +++ b/arrow-libs/core/arrow-functions/api/arrow-functions.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api index 745d46f1d3d..90fa32c6308 100644 --- a/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api +++ b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 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 index d4bebff4364..ccfe3ff0a80 100644 --- 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 @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 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 index 6f612e7fc26..1328b1f9e2d 100644 --- 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 @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 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 index 031ac5e6b9f..dd1735051fa 100644 --- 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 @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts index b400c9d5be6..3bf48b114e2 100644 --- a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts @@ -1,5 +1,8 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl + + repositories { google() mavenCentral() @@ -32,6 +35,7 @@ kotlin { browser() nodejs() } + @OptIn(ExperimentalWasmDsl::class) wasmJs() androidTarget() // Native: https://kotlinlang.org/docs/native-target-support.html // -- Tier 1 -- diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index c646ddae579..e7278c9dbda 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api index fbb4a9aec97..2329cd40dc2 100644 --- a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api +++ b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api @@ -1,5 +1,5 @@ // Klib ABI Dump -// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64] +// 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 diff --git a/gradle.properties b/gradle.properties index 1ec4a579517..b427106fc2d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,6 +2,8 @@ projects.group=io.arrow-kt projects.version=2.0.0-SNAPSHOT +enable_wasm=true + # Pomfile definitions #RELEASE_SIGNING_ENABLED=true @@ -34,4 +36,4 @@ kotlin.mpp.applyDefaultHierarchyTemplate=false ANIMALSNIFFER=../../gradle/animalsniffer.gradle ANIMALSNIFFER_MPP=../../gradle/animalsniffer-mpp.gradle -android.useAndroidX=true \ No newline at end of file +android.useAndroidX=true From 6e7b54d1e47ec9bde79560c0bf4e5783b78206aa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 09:34:31 +0200 Subject: [PATCH 23/67] fix(deps): update all dependencies (#3451) * fix(deps): update all dependencies | datasource | package | from | to | | ---------- | ------------------------------------------------------------- | ------------ | ------------ | | maven | org.jetbrains.kotlinx:kotlinx-serialization-json | 1.6.3 | 1.7.0 | | maven | org.jetbrains.kotlinx:kotlinx-serialization-core | 1.6.3 | 1.7.0 | | maven | com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin | 2.0.0-1.0.21 | 2.0.0-1.0.22 | | maven | com.google.devtools.ksp:symbol-processing-api | 2.0.0-1.0.21 | 2.0.0-1.0.22 | | maven | dev.zacsweers.kctfork:ksp | 0.4.1 | 0.5.0 | | maven | dev.zacsweers.kctfork:core | 0.4.1 | 0.5.0 | | maven | io.kotest:kotest-property | 5.9.0 | 5.9.1 | | maven | io.kotest:kotest-assertions-core | 5.9.0 | 5.9.1 | | maven | io.github.classgraph:classgraph | 4.8.172 | 4.8.173 | * Fix problems with KSP --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Alejandro Serrano Mena --- .../test/kotlin/arrow/optics/plugin/Compilation.kt | 12 ++++++++++-- .../test/kotlin/arrow/optics/plugin/PrismTests.kt | 10 +++++----- gradle/libs.versions.toml | 10 +++++----- 3 files changed, 20 insertions(+), 12 deletions(-) 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/PrismTests.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/test/kotlin/arrow/optics/plugin/PrismTests.kt index bcfaee06ff2..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,7 @@ class PrismTests { | companion object |} |val i: Prism, PrismSealed.PrismSealed1> = PrismSealed.prismSealed1() - """.compilationSucceeds(allWarningsAsErrors = true) + """.compilationSucceeds() } @Test @@ -46,7 +46,7 @@ class PrismTests { | companion object |} |val i: Prism = PrismSealed.`in` - """.compilationSucceeds(allWarningsAsErrors = true) + """.compilationSucceeds() } @Test @@ -61,7 +61,7 @@ class PrismTests { | companion object |} |val i: Prism, PrismSealed.In> = PrismSealed.`in`() - """.compilationSucceeds(allWarningsAsErrors = true) + """.compilationSucceeds() } @Test @@ -75,7 +75,7 @@ class PrismTests { | companion object |} |val i: Prism = PrismSealed.prismSealed1 - """.compilationSucceeds(allWarningsAsErrors = true) + """.compilationSucceeds() } @Test diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2360ee60217..6915e2b7c31 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,16 +2,16 @@ animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" coroutines = "1.8.1" -classgraph = "4.8.172" +classgraph = "4.8.173" dokka = "1.9.20" -kotest = "5.9.0" +kotest = "5.9.1" kover = "0.8.0" kotlin = "2.0.0" kotlinBinaryCompatibilityValidator = "0.15.0-Beta.2" -kotlinCompileTesting = "0.4.1" +kotlinCompileTesting = "0.5.0" knit = "0.5.0" -kspVersion = "2.0.0-1.0.21" -kotlinxSerialization = "1.6.3" +kspVersion = "2.0.0-1.0.22" +kotlinxSerialization = "1.7.0" mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" From 321fbecc0bf54f098f70953a6609c1624f44d481 Mon Sep 17 00:00:00 2001 From: Zongle Wang Date: Thu, 13 Jun 2024 15:14:28 -0400 Subject: [PATCH 24/67] Update Maven badge link (#3453) No need extra redirections. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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) From 1098af20c6473dd2876a874707b3b8f085f01c66 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 21:15:05 +0200 Subject: [PATCH 25/67] chore(deps): update all dependencies (#3452) | datasource | package | from | to | | ---------- | --------------------------------------------------------------------- | ------ | ------ | | maven | com.android.library:com.android.library.gradle.plugin | 8.4.1 | 8.4.2 | | maven | com.gradle.develocity:com.gradle.develocity.gradle.plugin | 3.17.4 | 3.17.5 | | maven | androidx.compose.runtime:runtime | 1.6.7 | 1.6.8 | | maven | org.jetbrains.kotlinx.kover:org.jetbrains.kotlinx.kover.gradle.plugin | 0.8.0 | 0.8.1 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 6 +++--- settings.gradle.kts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6915e2b7c31..e5877e20a84 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ coroutines = "1.8.1" classgraph = "4.8.173" dokka = "1.9.20" kotest = "5.9.1" -kover = "0.8.0" +kover = "0.8.1" kotlin = "2.0.0" kotlinBinaryCompatibilityValidator = "0.15.0-Beta.2" kotlinCompileTesting = "0.5.0" @@ -16,9 +16,9 @@ mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" -compose = "1.6.7" +compose = "1.6.8" composePlugin = "1.6.11" -agp = "8.4.1" +agp = "8.4.2" android-compileSdk = "34" cache4k = "0.13.0" publish="0.28.0" diff --git a/settings.gradle.kts b/settings.gradle.kts index 6a8e95f1c73..0162a6fca53 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id("com.gradle.develocity") version "3.17.4" + id("com.gradle.develocity") version "3.17.5" id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") } From 1911025b2f6e84b70074edc578becb69cda8fb24 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 14 Jun 2024 20:54:43 +0200 Subject: [PATCH 26/67] chore(deps): update dependency com.android.library to v8.5.0 (#3455) | datasource | package | from | to | | ---------- | ----------------------------------------------------- | ----- | ----- | | maven | com.android.library:com.android.library.gradle.plugin | 8.4.2 | 8.5.0 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e5877e20a84..76d73313a6b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,7 +18,7 @@ moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.8" composePlugin = "1.6.11" -agp = "8.4.2" +agp = "8.5.0" android-compileSdk = "34" cache4k = "0.13.0" publish="0.28.0" From b98255e0dacf36bb6651c5c8989066464653d2af Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 19 Jun 2024 09:14:13 +0200 Subject: [PATCH 27/67] De-duplicate class names in `arrow-optics` and `arrow-optics-compose` (#3457) --- .../api/android/arrow-optics-compose.api | 6 +++--- .../arrow-optics-compose/api/jvm/arrow-optics-compose.api | 6 +++--- .../src/commonMain/kotlin/arrow/optics/Copy.kt | 3 +++ .../src/commonMain/kotlin/arrow/optics/Flow.kt | 3 +++ .../src/commonMain/kotlin/arrow/optics/State.kt | 3 +++ 5 files changed, 15 insertions(+), 6 deletions(-) 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/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/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. From 082c779b39220e7885769b81b1a1c53acca0a6c4 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 19 Jun 2024 09:14:32 +0200 Subject: [PATCH 28/67] Bring back `handleErrorWith` (#3456) --- arrow-libs/core/arrow-core/api/arrow-core.api | 2 ++ .../core/arrow-core/api/arrow-core.klib.api | 2 ++ .../src/commonMain/kotlin/arrow/core/Either.kt | 15 +++++++++++++++ .../src/commonMain/kotlin/arrow/core/Ior.kt | 16 ++++++++++++++++ 4 files changed, 35 insertions(+) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 317c369281e..b7a4f020cf2 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; diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 8a7fb315508..fd415f535d1 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -312,6 +312,7 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> ( 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] @@ -505,6 +506,7 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core 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?> (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] 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 d0ac6a75654..0b7a27dd651 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 @@ -1292,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) 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 9d218a18827..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 @@ -411,6 +411,22 @@ public inline fun Ior.flatMap(combine: (A, A) -> A, f: (B) -> Io } } +/** + * 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 when (this) { From 432ffba7caa583fa662c31a12905b56f42597335 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 19 Jun 2024 09:14:53 +0200 Subject: [PATCH 29/67] Add test for #3441 (#3450) --- .../kotlin/arrow/optics/plugin/DSLTests.kt | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) 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 4aaf37178c4..844ae0f2e07 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 @@ -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`() { """ @@ -173,6 +195,4 @@ class DSLTests { |} """.compilationSucceeds() } - - // Db.content.at(At.map(), One).set(db, None) } From 6b7fe97bd56f807e5c6209b613dc3999ebab7d5b Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 19 Jun 2024 09:15:37 +0200 Subject: [PATCH 30/67] Delicate optics (#3454) --- .../optics/arrow-optics/api/arrow-optics.api | 17 ++++- .../arrow-optics/api/arrow-optics.klib.api | 19 +++-- .../kotlin/arrow/optics/Delicate.kt | 71 +++++++++++++++++++ .../kotlin/arrow/optics/dsl/delicate.kt | 28 ++++++++ .../kotlin/arrow/optics/dsl/filterIndex.kt | 12 ++-- .../kotlin/arrow/optics/OptionalTest.kt | 59 +++++++++++++++ .../kotlin/arrow/optics/PrismTest.kt | 1 - 7 files changed, 192 insertions(+), 15 deletions(-) create mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/Delicate.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/delicate.kt diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index cec5833f7f4..c315e566953 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; @@ -467,6 +475,11 @@ public final class arrow/optics/dsl/AtKt { 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 { public static final fun getLeft (Larrow/optics/POptional;)Larrow/optics/POptional; public static final fun getLeft (Larrow/optics/PPrism;)Larrow/optics/PPrism; @@ -488,9 +501,9 @@ public final class arrow/optics/dsl/EveryKt { } public final class arrow/optics/dsl/FilterIndexKt { - public static final fun filter (Larrow/optics/PTraversal;Larrow/optics/typeclasses/FilterIndex;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; - public static final fun filter (Larrow/optics/PTraversal;Lkotlin/jvm/functions/Function1;)Larrow/optics/PTraversal; 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; diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index e7278c9dbda..c2568cd54a1 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -261,7 +261,7 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> ( 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/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>): arrow.optics/POptional<#A, #A, kotlin/Pair<#C, #D>, kotlin/Pair<#C, #D>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>){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/filter(arrow.optics.typeclasses/FilterIndex<#B, #C, #D>, kotlin/Function1<#C, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #D, #D> // arrow.optics.dsl/filter|filter@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/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?, #D: kotlin/Any?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>, arrow.optics/POptional<#A, #A, #D, #D>): arrow.optics/POptional<#A, #A, kotlin/Triple<#B, #C, #D>, kotlin/Triple<#B, #C, #D>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>;arrow.optics.POptional<0:0,0:0,0:3,0:3>){0§;1§;2§;3§}[0] final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/SingletonRaise<#C>).arrow.optics.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrRaise|matchOrRaise@arrow.core.raise.SingletonRaise<0:2>(0:0;kotlin.Function1,kotlin.Unit>){0§;1§;2§}[0] @@ -271,9 +271,10 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PLen final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<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/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, 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/filter(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/PTraversal<#A, #A, #C, #C> // arrow.optics.dsl/filter|filter@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/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?, #C: kotlin/Any?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>): arrow.optics/POptional<#A, #A, kotlin/Pair<#B, #C>, kotlin/Pair<#B, #C>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>){0§;1§;2§}[0] final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.optics.match/matchOrElse(kotlin/Function0<#B>, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrElse|matchOrElse@0:0(kotlin.Function0<0:1>;kotlin.Function1,kotlin.Unit>){0§;1§}[0] @@ -281,18 +282,20 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.optics.match/matchOrThro final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise).arrow.optics.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrRaise|matchOrRaise@arrow.core.raise.Raise(0:0;kotlin.Function1,kotlin.Unit>){0§;1§}[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, #B, #B>).arrow.optics.match/ifEquals(#B): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/ifEquals|ifEquals@arrow.optics.POptional<0:0,0:0,0:1,0:1>(0:1){0§;1§}[0] final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/suchThat(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/suchThat|suchThat@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, arrow.core/NonEmptyList<#B>, arrow.core/NonEmptyList<#B>>).arrow.optics.dsl/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@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, #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, 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/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@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/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/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, #B, #B> // arrow.optics.dsl/filter|filter@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/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.match/it(arrow.optics/POptional<#A, #A, #B, #B>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>){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] @@ -300,8 +303,9 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics/Prism(kotlin/Function1 final fun <#A: kotlin/Any?> (#A).arrow.optics.match/matchUnit(kotlin/Function1, kotlin/Unit>) // arrow.optics.match/matchUnit|matchUnit@0:0(kotlin.Function1,kotlin.Unit>){0§}[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/filter(kotlin/Function1): arrow.optics/PTraversal<#A, #A, kotlin/Char, kotlin/Char> // arrow.optics.dsl/filter|filter@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/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] @@ -361,6 +365,9 @@ final val arrow.optics.dsl/some // arrow.optics.dsl/some|@arrow.optics.POptional 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] +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] } 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/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/filterIndex.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/dsl/filterIndex.kt index 8e344298d95..299494fe7f9 100644 --- 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 @@ -15,24 +15,24 @@ import kotlin.jvm.JvmName * @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.filter(filter: FilterIndex, predicate: Predicate): Traversal = +public fun Traversal.filterIndex(filter: FilterIndex, predicate: Predicate): Traversal = this.compose(filter.filter(predicate)) -public fun Traversal>.filter(predicate: Predicate): Traversal = +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = this.compose(FilterIndex.list().filter(predicate)) @JvmName("filterNonEmptyList") -public fun Traversal>.filter(predicate: Predicate): Traversal = +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = this.compose(FilterIndex.nonEmptyList().filter(predicate)) @JvmName("filterSequence") -public fun Traversal>.filter(predicate: Predicate): Traversal = +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = this.compose(FilterIndex.sequence().filter(predicate)) @JvmName("filterValues") -public fun Traversal>.filter(predicate: Predicate): Traversal = +public fun Traversal>.filterIndex(predicate: Predicate): Traversal = this.compose(FilterIndex.map().filter(predicate)) @JvmName("filterChars") -public fun Traversal.filter(predicate: Predicate): Traversal = +public fun Traversal.filterIndex(predicate: Predicate): Traversal = this.compose(FilterIndex.string().filter(predicate)) 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) } } - } From d10ec50348bdba6fa4d03158793f872b7fb464fa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 21:45:30 +0200 Subject: [PATCH 31/67] chore(deps): update all dependencies (#3459) * chore(deps): update all dependencies | datasource | package | from | to | | ---------- | ----------------------------------------------------------------------------------------------------------------------- | ------------- | ------------- | | maven | com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin | 0.28.0 | 0.29.0 | | maven | org.jetbrains.kotlinx:kotlinx-serialization-json | 1.7.0 | 1.7.1 | | maven | org.jetbrains.kotlinx:kotlinx-serialization-core | 1.7.0 | 1.7.1 | | maven | org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin | 0.15.0-Beta.2 | 0.15.0-Beta.3 | | maven | io.github.classgraph:classgraph | 4.8.173 | 4.8.174 | * Auto-update API files --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] --- .../api/arrow-annotations.klib.api | 25 +- .../arrow-atomic/api/arrow-atomic.klib.api | 34 +- .../api/arrow-autoclose.klib.api | 3 + .../arrow-cache4k/api/arrow-cache4k.klib.api | 4 +- .../api/arrow-core-serialization.klib.api | 35 +- .../core/arrow-core/api/arrow-core.klib.api | 1022 +++++++++-------- .../core/arrow-eval/api/arrow-eval.klib.api | 73 +- .../api/arrow-collectors.klib.api | 86 +- .../api/arrow-fx-coroutines.klib.api | 181 +-- .../fx/arrow-fx-stm/api/arrow-fx-stm.klib.api | 26 +- .../arrow-optics/api/arrow-optics.klib.api | 291 ++--- .../api/arrow-resilience.klib.api | 221 ++-- gradle/libs.versions.toml | 8 +- 13 files changed, 1145 insertions(+), 864 deletions(-) diff --git a/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api b/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api index 6d01ec83677..5e3a534f8e8 100644 --- a/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api +++ b/arrow-libs/core/arrow-annotations/api/arrow-annotations.klib.api @@ -6,22 +6,27 @@ // - 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 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] + final val entries // arrow.optics/OpticsTarget.entries|#static{}entries[0] final fun (): kotlin.enums/EnumEntries // arrow.optics/OpticsTarget.entries.|#static(){}[0] -} -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 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-atomic/api/arrow-atomic.klib.api b/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api index 968a3c71594..766f22fd2e9 100644 --- a/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api +++ b/arrow-libs/core/arrow-atomic/api/arrow-atomic.klib.api @@ -8,23 +8,29 @@ // 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 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 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] @@ -33,8 +39,10 @@ final class arrow.atomic/AtomicInt { // arrow.atomic/AtomicInt|null[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] @@ -43,6 +51,17 @@ final class arrow.atomic/AtomicLong { // arrow.atomic/AtomicLong|null[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] @@ -71,12 +90,3 @@ final inline fun <#A: kotlin/Any?> (arrow.atomic/Atomic<#A>).arrow.atomic/update 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] -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] diff --git a/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api index 0dcec158671..57cfacdb144 100644 --- a/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api +++ b/arrow-libs/core/arrow-autoclose/api/arrow-autoclose.klib.api @@ -10,10 +10,13 @@ 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-cache4k/api/arrow-cache4k.klib.api b/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api index d813ae0ba98..360d1a4827c 100644 --- a/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api +++ b/arrow-libs/core/arrow-cache4k/api/arrow-cache4k.klib.api @@ -6,12 +6,14 @@ // - Show declarations: true // Library unique name: -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] 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-core-serialization/api/arrow-core-serialization.klib.api b/arrow-libs/core/arrow-core-serialization/api/arrow-core-serialization.klib.api index b9bf6cc1a91..a5f851d2b09 100644 --- 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 @@ -8,38 +8,53 @@ // 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 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 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 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 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 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 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 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 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 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 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/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index fd415f535d1..8b26ce02b08 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -6,6 +6,18 @@ // - 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/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] @@ -18,16 +30,19 @@ abstract interface <#A: in kotlin/Any?> arrow.core.raise/Raise { // arrow.core.r 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] - abstract val head // arrow.core/NonEmptyCollection.head|{}head[0] - abstract fun (): #A // arrow.core/NonEmptyCollection.head.|(){}[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] @@ -39,8 +54,10 @@ abstract interface <#A: out kotlin/Any?> arrow.core/NonEmptyCollection : kotlin. 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] @@ -58,8 +75,13 @@ final class <#A: in kotlin/Any?> arrow.core.raise/SingletonRaise : arrow.core.ra 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] @@ -79,25 +101,11 @@ final class <#A: kotlin/Any?> arrow.core.raise/IorRaise : arrow.core.raise/Raise 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 val combineError // arrow.core.raise/IorRaise.combineError|{}combineError[0] - final fun (): kotlin/Function2<#A, #A, #A> // arrow.core.raise/IorRaise.combineError.|(){}[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 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 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] @@ -116,22 +124,27 @@ final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: 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 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 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] @@ -148,21 +161,26 @@ final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: 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 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 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] @@ -177,20 +195,25 @@ final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: 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 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 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] @@ -203,19 +226,24 @@ final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: 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 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 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] @@ -226,9 +254,32 @@ final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: 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] @@ -237,36 +288,38 @@ final class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?, #D: 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 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 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 val value // arrow.core/Some.value|{}value[0] - final fun (): #A // arrow.core/Some.value.|(){}[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 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 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] @@ -284,329 +337,30 @@ final class arrow.core.raise/ResultRaise : arrow.core.raise/Raise (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 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/flatMap(kotlin/Function1, kotlin.collections/Map<#A, #C>>): kotlin.collections/Map<#A, #C> // arrow.core/flatMap|flatMap@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/mapNotNull(kotlin/Function1, #C?>): kotlin.collections/Map<#A, #C> // arrow.core/mapNotNull|mapNotNull@kotlin.collections.Map<0:0,0:1>(kotlin.Function1,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>).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?> (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, #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?> (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/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/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/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 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 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] -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: 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] @@ -646,23 +400,26 @@ final value class <#A: out kotlin/Any?> arrow.core/NonEmptyList : arrow.core/Non 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] } - 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] + // 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] @@ -679,17 +436,14 @@ final value class <#A: out kotlin/Any?> arrow.core/NonEmptySet : arrow.core/NonE 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] - 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] + // 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] @@ -697,17 +451,13 @@ final value class arrow.core.raise/Trace { // arrow.core.raise/Trace|null[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 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/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] -} + 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?> (arrow.core/Either, #A1>).bindNel(): #A1 // arrow.core.raise/RaiseAccumulate.bindNel|bindNel@arrow.core.Either,0:0>(){0§}[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] @@ -716,55 +466,65 @@ open class <#A: kotlin/Any?> arrow.core.raise/RaiseAccumulate : arrow.core.raise 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?> withNel(kotlin/Function1>, #A1>): #A1 // arrow.core.raise/RaiseAccumulate.withNel|withNel(kotlin.Function1>,0:0>){0§}[0] - final val raise // arrow.core.raise/RaiseAccumulate.raise|{}raise[0] - final fun (): arrow.core.raise/Raise> // arrow.core.raise/RaiseAccumulate.raise.|(){}[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] } + sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Either { // arrow.core/Either|null[0] constructor () // arrow.core/Either.|(){}[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 val value // arrow.core/Either.Left.value|{}value[0] - final fun (): #A1 // arrow.core/Either.Left.value.|(){}[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 val value // arrow.core/Either.Right.value|{}value[0] - final fun (): #A1 // arrow.core/Either.Right.value.|(){}[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] + 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] @@ -796,69 +556,84 @@ sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Either { // a 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] } - open fun toString(): kotlin/String // arrow.core/Either.toString|toString(){}[0] } + sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Ior { // arrow.core/Ior|null[0] constructor () // arrow.core/Ior.|(){}[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 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 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 val value // arrow.core/Ior.Left.value|{}value[0] - final fun (): #A1 // arrow.core/Ior.Left.value.|(){}[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 val value // arrow.core/Ior.Right.value|{}value[0] - final fun (): #A1 // arrow.core/Ior.Right.value.|(){}[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] + 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] } - open fun toString(): kotlin/String // arrow.core/Ior.toString|toString(){}[0] } + sealed class <#A: out kotlin/Any?> arrow.core/Option { // arrow.core/Option|null[0] constructor () // arrow.core/Option.|(){}[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] @@ -872,14 +647,333 @@ sealed class <#A: out kotlin/Any?> arrow.core/Option { // arrow.core/Option|null 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/Function0<#A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function0<0:0>){0§}[0] final inline fun <#A2: kotlin/Any?> catch(kotlin/Function1>, kotlin/Function0<#A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function1>;kotlin.Function0<0:0>){0§}[0] } - open fun toString(): kotlin/String // arrow.core/Option.toString|toString(){}[0] } + sealed class arrow.core.raise/RaiseCancellationException : kotlin.coroutines.cancellation/CancellationException { // arrow.core.raise/RaiseCancellationException|null[0] constructor (kotlin/Any?, arrow.core.raise/Raise) // arrow.core.raise/RaiseCancellationException.|(kotlin.Any?;arrow.core.raise.Raise){}[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/flatMap(kotlin/Function1, kotlin.collections/Map<#A, #C>>): kotlin.collections/Map<#A, #C> // arrow.core/flatMap|flatMap@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/mapNotNull(kotlin/Function1, #C?>): kotlin.collections/Map<#A, #C> // arrow.core/mapNotNull|mapNotNull@kotlin.collections.Map<0:0,0:1>(kotlin.Function1,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>).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?> (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, #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?> (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/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/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/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-eval/api/arrow-eval.klib.api b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api index dd983f9b9c2..66d751192ca 100644 --- a/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api +++ b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api @@ -6,33 +6,30 @@ // - 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?> (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] sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[0] + constructor () // arrow.eval/Eval.|(){}[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] - constructor () // arrow.eval/Eval.FlatMap.|(){}[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] } - abstract fun memoize(): arrow.eval/Eval<#A> // arrow.eval/Eval.memoize|memoize(){}[0] - abstract fun value(): #A // arrow.eval/Eval.value|value(){}[0] - constructor () // arrow.eval/Eval.|(){}[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] @@ -40,8 +37,13 @@ sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[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] @@ -49,11 +51,14 @@ sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[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 val thunk // arrow.eval/Eval.Defer.thunk|{}thunk[0] - final fun (): kotlin/Function0> // arrow.eval/Eval.Defer.thunk.|(){}[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] @@ -61,11 +66,14 @@ sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[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 val value // arrow.eval/Eval.Later.value|{}value[0] - final fun (): #A1 // arrow.eval/Eval.Later.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] @@ -74,17 +82,13 @@ sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[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 val value // arrow.eval/Eval.Now.value|{}value[0] - final fun (): #A1 // arrow.eval/Eval.Now.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] + 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] @@ -92,5 +96,18 @@ sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[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] } - open fun toString(): kotlin/String // arrow.eval/Eval.toString|toString(){}[0] } + +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #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/fx/arrow-collectors/api/arrow-collectors.klib.api b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api index 90fa32c6308..9765d7bb53c 100644 --- a/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api +++ b/arrow-libs/fx/arrow-collectors/api/arrow-collectors.klib.api @@ -6,22 +6,50 @@ // - 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] - abstract val characteristics // arrow.collectors/CollectorI.characteristics|{}characteristics[0] - abstract fun (): kotlin.collections/Set // arrow.collectors/CollectorI.characteristics.|(){}[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] - } 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] @@ -34,35 +62,13 @@ abstract interface <#A: kotlin/Any?, #B: in kotlin/Any?, #C: out kotlin/Any?> ar 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 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 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] - } - final val entries // arrow.collectors/Characteristics.entries|#static{}entries[0] - final fun (): kotlin.enums/EnumEntries // arrow.collectors/Characteristics.entries.|#static(){}[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 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] @@ -71,11 +77,15 @@ final object arrow.collectors/Collectors { // arrow.collectors/Collectors|null[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 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 <#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-fx-coroutines/api/arrow-fx-coroutines.klib.api b/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.klib.api index ccfe3ff0a80..86e1b6bc717 100644 --- 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 @@ -6,6 +6,14 @@ // - Show declarations: true // Library unique name: +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] @@ -13,33 +21,130 @@ abstract interface arrow.fx.coroutines/ResourceScope : arrow/AutoCloseScope { // 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 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 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 suspend fun await() // arrow.fx.coroutines/CyclicBarrier.await|await(){}[0] - final suspend fun reset() // arrow.fx.coroutines/CyclicBarrier.reset|reset(){}[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] + constructor () // arrow.fx.coroutines/Race3.|(){}[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] + constructor () // arrow.fx.coroutines/ExitCase.|(){}[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] @@ -52,7 +157,6 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlinx.coroutines.flow/Flo 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 object arrow.fx.coroutines/AcquireStep // arrow.fx.coroutines/AcquireStep|null[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] @@ -125,72 +229,3 @@ final suspend inline fun <#A: kotlin/Any?> arrow.fx.coroutines/guarantee(kotlin. 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] -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] -} -sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?> arrow.fx.coroutines/Race3 { // arrow.fx.coroutines/Race3|null[0] - constructor () // arrow.fx.coroutines/Race3.|(){}[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 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 val winner // arrow.fx.coroutines/Race3.First.winner|{}winner[0] - final fun (): #A1 // arrow.fx.coroutines/Race3.First.winner.|(){}[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 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 val winner // arrow.fx.coroutines/Race3.Second.winner|{}winner[0] - final fun (): #A1 // arrow.fx.coroutines/Race3.Second.winner.|(){}[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 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] - final val winner // arrow.fx.coroutines/Race3.Third.winner|{}winner[0] - final fun (): #A1 // arrow.fx.coroutines/Race3.Third.winner.|(){}[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] -} -sealed class arrow.fx.coroutines/ExitCase { // arrow.fx.coroutines/ExitCase|null[0] - constructor () // arrow.fx.coroutines/ExitCase.|(){}[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 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 val exception // arrow.fx.coroutines/ExitCase.Cancelled.exception|{}exception[0] - final fun (): kotlin.coroutines.cancellation/CancellationException // arrow.fx.coroutines/ExitCase.Cancelled.exception.|(){}[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 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 val failure // arrow.fx.coroutines/ExitCase.Failure.failure|{}failure[0] - final fun (): kotlin/Throwable // arrow.fx.coroutines/ExitCase.Failure.failure.|(){}[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] - } -} 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 index 1328b1f9e2d..63e7a827522 100644 --- 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 @@ -7,6 +7,9 @@ // 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] @@ -62,25 +65,27 @@ abstract interface arrow.fx.stm/STM { // arrow.fx.stm/STM|null[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] - 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] } + final class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.stm/TMap { // arrow.fx.stm/TMap|null[0] final fun copy(arrow.fx.stm.internal/Hamt> = ..., kotlin/Function1<#A, kotlin/Int> = ...): arrow.fx.stm/TMap<#A, #B> // arrow.fx.stm/TMap.copy|copy(arrow.fx.stm.internal.Hamt>;kotlin.Function1<1:0,kotlin.Int>){}[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 copy(kotlin/Array> = ...): arrow.fx.stm/TArray<#A> // arrow.fx.stm/TArray.copy|copy(kotlin.Array>){}[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] @@ -88,55 +93,69 @@ final class <#A: kotlin/Any?> arrow.fx.stm/TArray { // arrow.fx.stm/TArray|null[ 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 copy(arrow.fx.stm/TVar> = ...): arrow.fx.stm/TMVar<#A> // arrow.fx.stm/TMVar.copy|copy(arrow.fx.stm.TVar>){}[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 copy(arrow.fx.stm/TVar> = ..., arrow.fx.stm/TVar> = ...): arrow.fx.stm/TQueue<#A> // arrow.fx.stm/TQueue.copy|copy(arrow.fx.stm.TVar>;arrow.fx.stm.TVar>){}[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 copy(arrow.fx.stm.internal/Hamt<#A> = ..., kotlin/Function1<#A, kotlin/Int> = ...): arrow.fx.stm/TSet<#A> // arrow.fx.stm/TSet.copy|copy(arrow.fx.stm.internal.Hamt<1:0>;kotlin.Function1<1:0,kotlin.Int>){}[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 suspend fun unsafeRead(): #A // arrow.fx.stm/TVar.unsafeRead|unsafeRead(){}[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 copy(arrow.fx.stm/TVar = ...): arrow.fx.stm/TSemaphore // arrow.fx.stm/TSemaphore.copy|copy(arrow.fx.stm.TVar){}[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] @@ -151,5 +170,4 @@ final fun <#A: kotlin/Any?> (arrow.fx.stm/STM).arrow.fx.stm/newTQueue(): arrow.f 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 object arrow.fx.stm.internal/RetryException : kotlin/Throwable // arrow.fx.stm.internal/RetryException|null[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/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index c2568cd54a1..cd1fe8d942a 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -6,18 +6,29 @@ // - 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] } - 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] } + 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] @@ -26,8 +37,14 @@ abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow 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] @@ -35,40 +52,56 @@ abstract fun interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> arrow 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] } - 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] } + 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] } - 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] } + 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] } - 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] - 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 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] @@ -83,23 +116,20 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] } - 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] } + 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] @@ -118,28 +148,11 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] } - 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] } + 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] - 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] - } 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] @@ -150,10 +163,33 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] @@ -168,20 +204,28 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] } - 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] } + 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?> 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] @@ -219,37 +263,79 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] } - 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?> 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] } + abstract interface <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics.match/MatchScope { // arrow.optics.match/MatchScope|null[0] abstract fun <#A1: kotlin/Any?> (arrow.optics/POptional<#A, #A, #A1, #A1>).then(kotlin/Function1<#A1, #B>) // arrow.optics.match/MatchScope.then|then@arrow.optics.POptional<1:0,1:0,0:0,0:0>(kotlin.Function1<0:0,1:1>){0§}[0] abstract fun default(kotlin/Function0<#B>) // arrow.optics.match/MatchScope.default|default(kotlin.Function0<1:1>){}[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 class arrow.optics.match/MatchNotFound : kotlin/Throwable { // arrow.optics.match/MatchNotFound|null[0] constructor (kotlin/Any?) // arrow.optics.match/MatchNotFound.|(kotlin.Any?){}[0] + final val value // arrow.optics.match/MatchNotFound.value|{}value[0] final fun (): kotlin/Any? // arrow.optics.match/MatchNotFound.value.|(){}[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?, #G: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>, arrow.optics/POptional<#B, #B, #F, #F>, arrow.optics/POptional<#B, #B, #G, #G>): arrow.optics/POptional<#A, #A, arrow.core/Tuple5<#C, #D, #E, #F, #G>, arrow.core/Tuple5<#C, #D, #E, #F, #G>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,0:4>;arrow.optics.POptional<0:1,0:1,0:5,0:5>;arrow.optics.POptional<0:1,0:1,0:6,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.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?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>, arrow.optics/POptional<#B, #B, #F, #F>): arrow.optics/POptional<#A, #A, arrow.core/Tuple4<#C, #D, #E, #F>, arrow.core/Tuple4<#C, #D, #E, #F>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,0:4>;arrow.optics.POptional<0:1,0:1,0:5,0:5>){0§;1§;2§;3§;4§;5§}[0] @@ -314,60 +400,3 @@ final fun <#A: kotlin/Any?> arrow.optics.match/equalsTo(#A): arrow.optics/POptio final fun <#A: kotlin/Any?> arrow.optics.match/predicate(kotlin/Function1<#A, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.match/predicate|predicate(kotlin.Function1<0:0,kotlin.Boolean>){0§}[0] final inline fun <#A: kotlin/Any, #B: reified #A> arrow.optics.match/instanceOf(): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/instanceOf|instanceOf(){0§;1§<0:0>}[0] final inline fun <#A: kotlin/Any?, #B: kotlin/Any, #C: reified #B> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/ifInstanceOf(): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.match/ifInstanceOf|ifInstanceOf@arrow.optics.POptional<0:0,0:0,0:1,0:1>(){0§;1§;2§<0:1>}[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] -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] -} diff --git a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api index 2329cd40dc2..1eb559f0aa1 100644 --- a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api +++ b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api @@ -6,50 +6,83 @@ // - 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 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] - } 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 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 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] constructor () // arrow.resilience/CircuitBreaker.OpeningStrategy.|(){}[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 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 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] @@ -58,43 +91,41 @@ final class arrow.resilience/CircuitBreaker { // arrow.resilience/CircuitBreaker 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] } - 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] } } + sealed class State { // arrow.resilience/CircuitBreaker.State|null[0] + constructor () // arrow.resilience/CircuitBreaker.State.|(){}[0] + abstract val openingStrategy // arrow.resilience/CircuitBreaker.State.openingStrategy|{}openingStrategy[0] abstract fun (): arrow.resilience/CircuitBreaker.OpeningStrategy // arrow.resilience/CircuitBreaker.State.openingStrategy.|(){}[0] - constructor () // arrow.resilience/CircuitBreaker.State.|(){}[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 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 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 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 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] @@ -103,42 +134,31 @@ final class arrow.resilience/CircuitBreaker { // arrow.resilience/CircuitBreaker 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 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 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] - 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 <#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 object arrow.resilience/SagaActionStep // arrow.resilience/SagaActionStep|null[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] -final val arrow.resilience.common/platform // arrow.resilience.common/platform|{}platform[0] - final fun (): arrow.resilience.common/Platform // arrow.resilience.common/platform.|(){}[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] @@ -160,29 +180,33 @@ final value class <#A: in kotlin/Any?, #B: out kotlin/Any?> arrow.resilience/Sch 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 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 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] - 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] + 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] @@ -190,33 +214,52 @@ final value class <#A: in kotlin/Any?, #B: out kotlin/Any?> arrow.resilience/Sch 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 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 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 val output // arrow.resilience/Schedule.Decision.Done.output|{}output[0] - final fun (): #A2 // arrow.resilience/Schedule.Decision.Done.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 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] } } -open annotation class arrow.resilience/SagaDSLMarker : kotlin/Annotation { // arrow.resilience/SagaDSLMarker|null[0] - constructor () // arrow.resilience/SagaDSLMarker.|(){}[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/gradle/libs.versions.toml b/gradle/libs.versions.toml index 76d73313a6b..12be4ff98cf 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,16 +2,16 @@ animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" coroutines = "1.8.1" -classgraph = "4.8.173" +classgraph = "4.8.174" dokka = "1.9.20" kotest = "5.9.1" kover = "0.8.1" kotlin = "2.0.0" -kotlinBinaryCompatibilityValidator = "0.15.0-Beta.2" +kotlinBinaryCompatibilityValidator = "0.15.0-Beta.3" kotlinCompileTesting = "0.5.0" knit = "0.5.0" kspVersion = "2.0.0-1.0.22" -kotlinxSerialization = "1.7.0" +kotlinxSerialization = "1.7.1" mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" @@ -21,7 +21,7 @@ composePlugin = "1.6.11" agp = "8.5.0" android-compileSdk = "34" cache4k = "0.13.0" -publish="0.28.0" +publish="0.29.0" [libraries] coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } From 6d4b177abf926ab581df57d28f78262dab5857c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 30 Jun 2024 21:41:41 +0200 Subject: [PATCH 32/67] fix(deps): update all dependencies (#3462) | datasource | package | from | to | | ---------- | --------------------------------------------------------------------- | ----- | ----- | | maven | dev.zacsweers.kctfork:ksp | 0.5.0 | 0.5.1 | | maven | dev.zacsweers.kctfork:core | 0.5.0 | 0.5.1 | | maven | org.jetbrains.kotlinx.kover:org.jetbrains.kotlinx.kover.gradle.plugin | 0.8.1 | 0.8.2 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 12be4ff98cf..ae6347230f6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,10 +5,10 @@ coroutines = "1.8.1" classgraph = "4.8.174" dokka = "1.9.20" kotest = "5.9.1" -kover = "0.8.1" +kover = "0.8.2" kotlin = "2.0.0" kotlinBinaryCompatibilityValidator = "0.15.0-Beta.3" -kotlinCompileTesting = "0.5.0" +kotlinCompileTesting = "0.5.1" knit = "0.5.0" kspVersion = "2.0.0-1.0.22" kotlinxSerialization = "1.7.1" From c860806e993c27abc9a3e898690cd313ccae2ecf Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 4 Jul 2024 10:55:18 +0200 Subject: [PATCH 33/67] Fix incompatible versioning (#3463) --- arrow-libs/core/arrow-annotations/build.gradle.kts | 10 ++++++++++ arrow-libs/core/arrow-atomic/build.gradle.kts | 7 +++++++ arrow-libs/core/arrow-autoclose/build.gradle.kts | 8 ++++++++ arrow-libs/core/arrow-cache4k/build.gradle.kts | 12 +++++++++++- .../core/arrow-core-high-arity/build.gradle.kts | 8 ++++++++ arrow-libs/core/arrow-core-retrofit/build.gradle.kts | 11 +++++++++++ .../core/arrow-core-serialization/build.gradle.kts | 10 ++++++++++ arrow-libs/core/arrow-core/build.gradle.kts | 7 +++++++ arrow-libs/core/arrow-eval/build.gradle.kts | 10 ++++++++++ arrow-libs/core/arrow-functions/build.gradle.kts | 10 ++++++++++ arrow-libs/fx/arrow-collectors/build.gradle.kts | 8 ++++++++ arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts | 8 ++++++++ arrow-libs/fx/arrow-fx-stm/build.gradle.kts | 7 +++++++ .../optics/arrow-optics-compose/build.gradle.kts | 8 ++++++++ .../optics/arrow-optics-ksp-plugin/build.gradle.kts | 9 +++++++++ .../optics/arrow-optics-reflect/build.gradle.kts | 12 ++++++++++++ arrow-libs/optics/arrow-optics/build.gradle.kts | 10 ++++++++++ .../resilience/arrow-resilience/build.gradle.kts | 10 ++++++++++ build.gradle.kts | 12 ++---------- 19 files changed, 166 insertions(+), 11 deletions(-) diff --git a/arrow-libs/core/arrow-annotations/build.gradle.kts b/arrow-libs/core/arrow-annotations/build.gradle.kts index b06c40bd0d9..1b9e385f48d 100644 --- a/arrow-libs/core/arrow-annotations/build.gradle.kts +++ b/arrow-libs/core/arrow-annotations/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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-atomic/build.gradle.kts b/arrow-libs/core/arrow-atomic/build.gradle.kts index 6a88e04f814..445ae20498d 100644 --- a/arrow-libs/core/arrow-atomic/build.gradle.kts +++ b/arrow-libs/core/arrow-atomic/build.gradle.kts @@ -1,6 +1,7 @@ @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 { @@ -48,6 +49,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-autoclose/build.gradle.kts b/arrow-libs/core/arrow-autoclose/build.gradle.kts index 41bbbead065..b42aecd9769 100644 --- a/arrow-libs/core/arrow-autoclose/build.gradle.kts +++ b/arrow-libs/core/arrow-autoclose/build.gradle.kts @@ -1,5 +1,7 @@ @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 @@ -42,6 +44,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) } + } } // enables context receivers for Jvm Tests diff --git a/arrow-libs/core/arrow-cache4k/build.gradle.kts b/arrow-libs/core/arrow-cache4k/build.gradle.kts index f356e50e5d4..f73ae851bd2 100644 --- a/arrow-libs/core/arrow-cache4k/build.gradle.kts +++ b/arrow-libs/core/arrow-cache4k/build.gradle.kts @@ -1,7 +1,11 @@ @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.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-core-high-arity/build.gradle.kts b/arrow-libs/core/arrow-core-high-arity/build.gradle.kts index 4be415ff55f..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,5 +1,7 @@ @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 { @@ -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-retrofit/build.gradle.kts b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts index a2591291de5..27346d0ab9a 100644 --- a/arrow-libs/core/arrow-core-retrofit/build.gradle.kts +++ b/arrow-libs/core/arrow-core-retrofit/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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-serialization/build.gradle.kts b/arrow-libs/core/arrow-core-serialization/build.gradle.kts index b5032a523d2..3b4f18c59e4 100644 --- a/arrow-libs/core/arrow-core-serialization/build.gradle.kts +++ b/arrow-libs/core/arrow-core-serialization/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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/build.gradle.kts b/arrow-libs/core/arrow-core/build.gradle.kts index 0dde880ffa1..ca137dabeda 100644 --- a/arrow-libs/core/arrow-core/build.gradle.kts +++ b/arrow-libs/core/arrow-core/build.gradle.kts @@ -1,6 +1,7 @@ @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 @@ -69,6 +70,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) } + } } // enables context receivers for Jvm Tests diff --git a/arrow-libs/core/arrow-eval/build.gradle.kts b/arrow-libs/core/arrow-eval/build.gradle.kts index 46c68562995..85f4a155243 100644 --- a/arrow-libs/core/arrow-eval/build.gradle.kts +++ b/arrow-libs/core/arrow-eval/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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-functions/build.gradle.kts b/arrow-libs/core/arrow-functions/build.gradle.kts index a5b7ca4ab7d..baf746a18a0 100644 --- a/arrow-libs/core/arrow-functions/build.gradle.kts +++ b/arrow-libs/core/arrow-functions/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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/fx/arrow-collectors/build.gradle.kts b/arrow-libs/fx/arrow-collectors/build.gradle.kts index 9bd99f8caed..cd714dfd748 100644 --- a/arrow-libs/fx/arrow-collectors/build.gradle.kts +++ b/arrow-libs/fx/arrow-collectors/build.gradle.kts @@ -1,5 +1,7 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import java.time.Duration plugins { @@ -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-fx-coroutines/build.gradle.kts b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts index dc5673e8672..57aa3c3d677 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts @@ -1,5 +1,7 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import java.time.Duration @@ -64,6 +66,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-stm/build.gradle.kts b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts index b0dd944c352..11428d36987 100644 --- a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts @@ -1,6 +1,7 @@ @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 @@ -50,6 +51,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-compose/build.gradle.kts b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts index 3bf48b114e2..7fb8dbd8e9c 100644 --- a/arrow-libs/optics/arrow-optics-compose/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-compose/build.gradle.kts @@ -1,5 +1,7 @@ @file:Suppress("DSL_SCOPE_VIOLATION") +import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi +import org.jetbrains.kotlin.gradle.dsl.KotlinVersion import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl @@ -74,6 +76,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-ksp-plugin/build.gradle.kts b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts index 6a8c710024a..8eb8eb6cb6c 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -16,6 +20,11 @@ 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) } + } } apply(from = property("ANIMALSNIFFER_MPP")) diff --git a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts index a5f2cbcf692..6f57cda752f 100644 --- a/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-reflect/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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/build.gradle.kts b/arrow-libs/optics/arrow-optics/build.gradle.kts index d3af169c050..eb419c1654c 100644 --- a/arrow-libs/optics/arrow-optics/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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/resilience/arrow-resilience/build.gradle.kts b/arrow-libs/resilience/arrow-resilience/build.gradle.kts index 4b3e910d765..4335b6a4f5f 100644 --- a/arrow-libs/resilience/arrow-resilience/build.gradle.kts +++ b/arrow-libs/resilience/arrow-resilience/build.gradle.kts @@ -1,5 +1,9 @@ @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) @@ -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/build.gradle.kts b/build.gradle.kts index 91afa0bf4f6..f7fa301b1ec 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,9 +4,10 @@ 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.dsl.KotlinVersion -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile allprojects { if (property("version") == "unspecified") { @@ -33,15 +34,6 @@ allprojects { google() maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") } - - tasks { - withType { - 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) } - } - } - } } plugins { From 90310e8827658d24d783a5e71aa02afb37103db3 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 4 Jul 2024 17:20:56 +0200 Subject: [PATCH 34/67] Fix problem in build in 2.1 (#3464) --- arrow-libs/fx/arrow-fx-stm/build.gradle.kts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts index 11428d36987..6cc4466bf75 100644 --- a/arrow-libs/fx/arrow-fx-stm/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-stm/build.gradle.kts @@ -2,7 +2,6 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinVersion -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -23,7 +22,10 @@ apply(from = property("ANIMALSNIFFER_MPP")) kotlin { @OptIn(ExperimentalKotlinGradlePluginApi::class) - compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") + compilerOptions { + freeCompilerArgs.add("-Xexpect-actual-classes") + freeCompilerArgs.add("-Xconsistent-data-class-copy-visibility") + } sourceSets { commonMain { From 7e8ea4ca7a96c5ce8805acae2d7bb0c733e8befb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Jul 2024 18:20:16 +0200 Subject: [PATCH 35/67] fix(deps): update dependency org.codehaus.mojo:animal-sniffer-annotations to v1.24 (#3465) | datasource | package | from | to | | ---------- | -------------------------------------------- | ---- | ---- | | maven | org.codehaus.mojo:animal-sniffer-annotations | 1.23 | 1.24 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- arrow-libs/gradle/animalsniffer-mpp.gradle | 4 ++-- arrow-libs/gradle/animalsniffer.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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' } From 0143cada5aac3f1e1aa1912416401f99ad584491 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Fri, 5 Jul 2024 09:31:58 +0200 Subject: [PATCH 36/67] Remove optional build of `optics-compose` (#3466) --- settings.gradle.kts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 0162a6fca53..c260d1e19e9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -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") From 71b6d805172cf14e76136ac2f1628fd3f7573776 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 16:19:35 +0200 Subject: [PATCH 37/67] chore(deps): update dependency org.jetbrains.kotlinx.binary-compatibility-validator to v0.15.0 (#3467) | datasource | package | from | to | | ---------- | ----------------------------------------------------------------------------------------------------------------------- | ------------- | ------ | | maven | org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin | 0.15.0-Beta.3 | 0.15.0 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ae6347230f6..672a17955ce 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ dokka = "1.9.20" kotest = "5.9.1" kover = "0.8.2" kotlin = "2.0.0" -kotlinBinaryCompatibilityValidator = "0.15.0-Beta.3" +kotlinBinaryCompatibilityValidator = "0.15.0" kotlinCompileTesting = "0.5.1" knit = "0.5.0" kspVersion = "2.0.0-1.0.22" From 49c37016dd794e721a4fa33ef6f9197fd1d1ac44 Mon Sep 17 00:00:00 2001 From: Simon Vergauwen Date: Mon, 8 Jul 2024 17:05:26 +0200 Subject: [PATCH 38/67] Remove checkAll from Racing tests, and use runBlocking on JVM. (#3468) Co-authored-by: Alejandro Serrano --- .../arrow/fx/coroutines/BracketCaseTest.kt | 36 ++-- .../arrow/fx/coroutines/CountDownLatchSpec.kt | 10 +- .../arrow/fx/coroutines/CyclicBarrierSpec.kt | 20 +- .../kotlin/arrow/fx/coroutines/FlowTest.kt | 20 +- .../arrow/fx/coroutines/GuaranteeCaseTest.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParMapTest.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParZip2Test.kt | 8 +- .../kotlin/arrow/fx/coroutines/ParZip3Test.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParZip4Test.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParZip5Test.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParZip6Test.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParZip7Test.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParZip8Test.kt | 4 +- .../kotlin/arrow/fx/coroutines/ParZip9Test.kt | 4 +- .../kotlin/arrow/fx/coroutines/RaceNTest.kt | 14 +- .../arrow/fx/coroutines/ResourceTest.kt | 40 ++-- .../kotlin/arrow/fx/coroutines/FlowJvmTest.kt | 18 +- .../arrow/fx/coroutines/ParMapJvmTest.kt | 26 +-- .../arrow/fx/coroutines/ParZip2JvmTest.kt | 110 ++++++----- .../arrow/fx/coroutines/ParZip3JvmTest.kt | 12 +- .../arrow/fx/coroutines/ParZip4JvmTest.kt | 12 +- .../arrow/fx/coroutines/ParZip5JvmTest.kt | 14 +- .../arrow/fx/coroutines/ParZip6JvmTest.kt | 14 +- .../arrow/fx/coroutines/ParZip7JvmTest.kt | 14 +- .../arrow/fx/coroutines/ParZip8JvmTest.kt | 14 +- .../arrow/fx/coroutines/ParZip9JvmTest.kt | 14 +- .../arrow/fx/coroutines/RaceNJvmTest.kt | 184 +++++++++++------- .../arrow/fx/coroutines/ResourceTestJvm.kt | 4 +- 28 files changed, 331 insertions(+), 289 deletions(-) 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/ResourceTest.kt b/arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceTest.kt index 41de38cd14e..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 @@ -38,7 +38,7 @@ 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() 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..f71f670ba07 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 @@ -35,7 +35,7 @@ class ResourceTestJvm { } @Test fun autoCloseableClosesOnError() = runTest { - checkAll(Arb.throwable()) { throwable -> + checkAll(10, Arb.throwable()) { throwable -> val t = AutoCloseableTest() shouldThrow { @@ -60,7 +60,7 @@ class ResourceTestJvm { } @Test fun closeableClosesOnError() = runTest { - checkAll(Arb.throwable()) { throwable -> + checkAll(10, Arb.throwable()) { throwable -> val t = CloseableTest() shouldThrow { From ae02653a33d975d0a66c44f40d77386780e659ca Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 12:06:06 +0200 Subject: [PATCH 39/67] chore(deps): update dependency org.jetbrains.kotlinx.binary-compatibility-validator to v0.15.1 (#3469) | datasource | package | from | to | | ---------- | ----------------------------------------------------------------------------------------------------------------------- | ------ | ------ | | maven | org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin | 0.15.0 | 0.15.1 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 672a17955ce..22317b7fab0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,7 @@ dokka = "1.9.20" kotest = "5.9.1" kover = "0.8.2" kotlin = "2.0.0" -kotlinBinaryCompatibilityValidator = "0.15.0" +kotlinBinaryCompatibilityValidator = "0.15.1" kotlinCompileTesting = "0.5.1" knit = "0.5.0" kspVersion = "2.0.0-1.0.22" From 74717b7d737472c842931d726f13a7d24a967c9a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 19:21:34 +0200 Subject: [PATCH 40/67] chore(deps): update all dependencies (#3470) | datasource | package | from | to | | -------------- | ------------------------------------------------------------- | ------------ | ------------ | | gradle-version | gradle | 8.8 | 8.9 | | maven | com.android.library:com.android.library.gradle.plugin | 8.5.0 | 8.5.1 | | maven | com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin | 2.0.0-1.0.22 | 2.0.0-1.0.23 | | maven | com.google.devtools.ksp:symbol-processing-api | 2.0.0-1.0.22 | 2.0.0-1.0.23 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 4 ++-- gradle/wrapper/gradle-wrapper.jar | Bin 43453 -> 43504 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 5 ++++- gradlew.bat | 2 ++ 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 22317b7fab0..f8f6093b92f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ kotlin = "2.0.0" kotlinBinaryCompatibilityValidator = "0.15.1" kotlinCompileTesting = "0.5.1" knit = "0.5.0" -kspVersion = "2.0.0-1.0.22" +kspVersion = "2.0.0-1.0.23" kotlinxSerialization = "1.7.1" mockWebServer = "4.12.0" retrofit = "2.11.0" @@ -18,7 +18,7 @@ moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.8" composePlugin = "1.6.11" -agp = "8.5.0" +agp = "8.5.1" android-compileSdk = "34" cache4k = "0.13.0" publish="0.29.0" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index e6441136f3d4ba8a0da8d277868979cfbc8ad796..2c3521197d7c4586c843d1d3e9090525f1898cde 100644 GIT binary patch delta 8703 zcmYLtRag{&)-BQ@Dc#cDDP2Q%r*wBHJ*0FE-92)X$3_b$L+F2Fa28UVeg>}yRjC}^a^+(Cdu_FTlV;w_x7ig{yd(NYi_;SHXEq`|Qa`qPMf1B~v#%<*D zn+KWJfX#=$FMopqZ>Cv7|0WiA^M(L@tZ=_Hi z*{?)#Cn^{TIzYD|H>J3dyXQCNy8f@~OAUfR*Y@C6r=~KMZ{X}q`t@Er8NRiCUcR=?Y+RMv`o0i{krhWT6XgmUt!&X=e_Q2=u@F=PXKpr9-FL@0 zfKigQcGHyPn{3vStLFk=`h@+Lh1XBNC-_nwNU{ytxZF$o}oyVfHMj|ZHWmEmZeNIlO5eLco<=RI&3=fYK*=kmv*75aqE~&GtAp(VJ z`VN#&v2&}|)s~*yQ)-V2@RmCG8lz5Ysu&I_N*G5njY`<@HOc*Bj)ZwC%2|2O<%W;M z+T{{_bHLh~n(rM|8SpGi8Whep9(cURNRVfCBQQ2VG<6*L$CkvquqJ~9WZ~!<6-EZ&L(TN zpSEGXrDiZNz)`CzG>5&_bxzBlXBVs|RTTQi5GX6s5^)a3{6l)Wzpnc|Cc~(5mO)6; z6gVO2Zf)srRQ&BSeg0)P2en#<)X30qXB{sujc3Ppm4*)}zOa)@YZ<%1oV9K%+(VzJ zk(|p>q-$v>lImtsB)`Mm;Z0LaU;4T1BX!wbnu-PSlH1%`)jZZJ(uvbmM^is*r=Y{B zI?(l;2n)Nx!goxrWfUnZ?y5$=*mVU$Lpc_vS2UyW>tD%i&YYXvcr1v7hL2zWkHf42 z_8q$Gvl>%468i#uV`RoLgrO+R1>xP8I^7~&3(=c-Z-#I`VDnL`6stnsRlYL zJNiI`4J_0fppF<(Ot3o2w?UT*8QQrk1{#n;FW@4M7kR}oW-}k6KNQaGPTs=$5{Oz} zUj0qo@;PTg#5moUF`+?5qBZ)<%-$qw(Z?_amW*X}KW4j*FmblWo@SiU16V>;nm`Eg zE0MjvGKN_eA%R0X&RDT!hSVkLbF`BFf;{8Nym#1?#5Fb?bAHY(?me2tww}5K9AV9y+T7YaqaVx8n{d=K`dxS|=))*KJn(~8u@^J% zj;8EM+=Dq^`HL~VPag9poTmeP$E`npJFh^|=}Mxs2El)bOyoimzw8(RQle(f$n#*v zzzG@VOO(xXiG8d?gcsp-Trn-36}+S^w$U(IaP`-5*OrmjB%Ozzd;jfaeRHAzc_#?- z`0&PVZANQIcb1sS_JNA2TFyN$*yFSvmZbqrRhfME3(PJ62u%KDeJ$ZeLYuiQMC2Sc z35+Vxg^@gSR6flp>mS|$p&IS7#fL@n20YbNE9(fH;n%C{w?Y0=N5?3GnQLIJLu{lm zV6h@UDB+23dQoS>>)p`xYe^IvcXD*6nDsR;xo?1aNTCMdbZ{uyF^zMyloFDiS~P7W>WuaH2+`xp0`!d_@>Fn<2GMt z&UTBc5QlWv1)K5CoShN@|0y1M?_^8$Y*U(9VrroVq6NwAJe zxxiTWHnD#cN0kEds(wN8YGEjK&5%|1pjwMH*81r^aXR*$qf~WiD2%J^=PHDUl|=+f zkB=@_7{K$Fo0%-WmFN_pyXBxl^+lLG+m8Bk1OxtFU}$fQU8gTYCK2hOC0sVEPCb5S z4jI07>MWhA%cA{R2M7O_ltorFkJ-BbmPc`{g&Keq!IvDeg8s^PI3a^FcF z@gZ2SB8$BPfenkFc*x#6&Z;7A5#mOR5qtgE}hjZ)b!MkOQ zEqmM3s>cI_v>MzM<2>U*eHoC69t`W`^9QBU^F$ z;nU4%0$)$ILukM6$6U+Xts8FhOFb|>J-*fOLsqVfB=vC0v2U&q8kYy~x@xKXS*b6i zy=HxwsDz%)!*T5Bj3DY1r`#@Tc%LKv`?V|g6Qv~iAnrqS+48TfuhmM)V_$F8#CJ1j4;L}TBZM~PX!88IT+lSza{BY#ER3TpyMqi# z#{nTi!IsLYt9cH?*y^bxWw4djrd!#)YaG3|3>|^1mzTuXW6SV4+X8sA2dUWcjH)a3 z&rXUMHbOO?Vcdf3H<_T-=DB0M4wsB;EL3lx?|T(}@)`*C5m`H%le54I{bfg7GHqYB z9p+30u+QXMt4z&iG%LSOk1uw7KqC2}ogMEFzc{;5x`hU(rh0%SvFCBQe}M#RSWJv;`KM zf7D&z0a)3285{R$ZW%+I@JFa^oZN)vx77y_;@p0(-gz6HEE!w&b}>0b)mqz-(lfh4 zGt}~Hl@{P63b#dc`trFkguB}6Flu!S;w7lp_>yt|3U=c|@>N~mMK_t#LO{n;_wp%E zQUm=z6?JMkuQHJ!1JV$gq)q)zeBg)g7yCrP=3ZA|wt9%_l#yPjsS#C7qngav8etSX+s?JJ1eX-n-%WvP!IH1%o9j!QH zeP<8aW}@S2w|qQ`=YNC}+hN+lxv-Wh1lMh?Y;LbIHDZqVvW^r;^i1O<9e z%)ukq=r=Sd{AKp;kj?YUpRcCr*6)<@Mnp-cx{rPayiJ0!7Jng}27Xl93WgthgVEn2 zQlvj!%Q#V#j#gRWx7((Y>;cC;AVbPoX*mhbqK*QnDQQ?qH+Q*$u6_2QISr!Fn;B-F@!E+`S9?+Jr zt`)cc(ZJ$9q^rFohZJoRbP&X3)sw9CLh#-?;TD}!i>`a;FkY6(1N8U-T;F#dGE&VI zm<*Tn>EGW(TioP@hqBg zn6nEolK5(}I*c;XjG!hcI0R=WPzT)auX-g4Znr;P`GfMa*!!KLiiTqOE*STX4C(PD z&}1K|kY#>~>sx6I0;0mUn8)=lV?o#Bcn3tn|M*AQ$FscYD$0H(UKzC0R588Mi}sFl z@hG4h^*;_;PVW#KW=?>N)4?&PJF&EO(X?BKOT)OCi+Iw)B$^uE)H>KQZ54R8_2z2_ z%d-F7nY_WQiSB5vWd0+>^;G^j{1A%-B359C(Eji{4oLT9wJ~80H`6oKa&{G- z)2n-~d8S0PIkTW_*Cu~nwVlE&Zd{?7QbsGKmwETa=m*RG>g??WkZ|_WH7q@ zfaxzTsOY2B3!Fu;rBIJ~aW^yqn{V;~4LS$xA zGHP@f>X^FPnSOxEbrnEOd*W7{c(c`b;RlOEQ*x!*Ek<^p*C#8L=Ty^S&hg zaV)g8<@!3p6(@zW$n7O8H$Zej+%gf^)WYc$WT{zp<8hmn!PR&#MMOLm^hcL2;$o=Q zXJ=9_0vO)ZpNxPjYs$nukEGK2bbL%kc2|o|zxYMqK8F?$YtXk9Owx&^tf`VvCCgUz zLNmDWtociY`(}KqT~qnVUkflu#9iVqXw7Qi7}YT@{K2Uk(Wx7Q-L}u^h+M(81;I*J ze^vW&-D&=aOQq0lF5nLd)OxY&duq#IdK?-r7En0MnL~W51UXJQFVVTgSl#85=q$+| zHI%I(T3G8ci9Ubq4(snkbQ*L&ksLCnX_I(xa1`&(Bp)|fW$kFot17I)jyIi06dDTTiI%gNR z8i*FpB0y0 zjzWln{UG1qk!{DEE5?0R5jsNkJ(IbGMjgeeNL4I9;cP&>qm%q7cHT}@l0v;TrsuY0 zUg;Z53O-rR*W!{Q*Gp26h`zJ^p&FmF0!EEt@R3aT4YFR0&uI%ko6U0jzEYk_xScP@ zyk%nw`+Ic4)gm4xvCS$)y;^)B9^}O0wYFEPas)!=ijoBCbF0DbVMP z`QI7N8;88x{*g=51AfHx+*hoW3hK(?kr(xVtKE&F-%Tb}Iz1Z8FW>usLnoCwr$iWv ztOVMNMV27l*fFE29x}veeYCJ&TUVuxsd`hV-8*SxX@UD6au5NDhCQ4Qs{{CJQHE#4 z#bg6dIGO2oUZQVY0iL1(Q>%-5)<7rhnenUjOV53*9Qq?aU$exS6>;BJqz2|#{We_| zX;Nsg$KS<+`*5=WA?idE6G~kF9oQPSSAs#Mh-|)@kh#pPCgp&?&=H@Xfnz`5G2(95 z`Gx2RfBV~`&Eyq2S9m1}T~LI6q*#xC^o*EeZ#`}Uw)@RD>~<_Kvgt2?bRbO&H3&h- zjB&3bBuWs|YZSkmcZvX|GJ5u7#PAF$wj0ULv;~$7a?_R%e%ST{al;=nqj-<0pZiEgNznHM;TVjCy5E#4f?hudTr0W8)a6o;H; zhnh6iNyI^F-l_Jz$F`!KZFTG$yWdioL=AhImGr!$AJihd{j(YwqVmqxMKlqFj<_Hlj@~4nmrd~&6#f~9>r2_e-^nca(nucjf z;(VFfBrd0?k--U9L*iey5GTc|Msnn6prtF*!5AW3_BZ9KRO2(q7mmJZ5kz-yms`04e; z=uvr2o^{lVBnAkB_~7b7?1#rDUh4>LI$CH1&QdEFN4J%Bz6I$1lFZjDz?dGjmNYlD zDt}f;+xn-iHYk~V-7Fx!EkS``+w`-f&Ow>**}c5I*^1tpFdJk>vG23PKw}FrW4J#x zBm1zcp^){Bf}M|l+0UjvJXRjP3~!#`I%q*E=>?HLZ>AvB5$;cqwSf_*jzEmxxscH; zcl>V3s>*IpK`Kz1vP#APs#|tV9~#yMnCm&FOllccilcNmAwFdaaY7GKg&(AKG3KFj zk@%9hYvfMO;Vvo#%8&H_OO~XHlwKd()gD36!_;o z*7pl*o>x9fbe?jaGUO25ZZ@#qqn@|$B+q49TvTQnasc$oy`i~*o}Ka*>Wg4csQOZR z|Fs_6-04vj-Dl|B2y{&mf!JlPJBf3qG~lY=a*I7SBno8rLRdid7*Kl@sG|JLCt60# zqMJ^1u^Gsb&pBPXh8m1@4;)}mx}m%P6V8$1oK?|tAk5V6yyd@Ez}AlRPGcz_b!c;; z%(uLm1Cp=NT(4Hcbk;m`oSeW5&c^lybx8+nAn&fT(!HOi@^&l1lDci*?L#*J7-u}} z%`-*V&`F1;4fWsvcHOlZF#SD&j+I-P(Mu$L;|2IjK*aGG3QXmN$e}7IIRko8{`0h9 z7JC2vi2Nm>g`D;QeN@^AhC0hKnvL(>GUqs|X8UD1r3iUc+-R4$=!U!y+?p6rHD@TL zI!&;6+LK_E*REZ2V`IeFP;qyS*&-EOu)3%3Q2Hw19hpM$3>v!!YABs?mG44{L=@rjD%X-%$ajTW7%t_$7to%9d3 z8>lk z?_e}(m&>emlIx3%7{ER?KOVXi>MG_)cDK}v3skwd%Vqn0WaKa1;e=bK$~Jy}p#~`B zGk-XGN9v)YX)K2FM{HNY-{mloSX|a?> z8Om9viiwL|vbVF~j%~hr;|1wlC0`PUGXdK12w;5Wubw}miQZ)nUguh?7asm90n>q= z;+x?3haT5#62bg^_?VozZ-=|h2NbG%+-pJ?CY(wdMiJ6!0ma2x{R{!ys=%in;;5@v z{-rpytg){PNbCGP4Ig>=nJV#^ie|N68J4D;C<1=$6&boh&ol~#A?F-{9sBL*1rlZshXm~6EvG!X9S zD5O{ZC{EEpHvmD5K}ck+3$E~{xrrg*ITiA}@ZCoIm`%kVqaX$|#ddV$bxA{jux^uRHkH)o6#}fT6XE|2BzU zJiNOAqcxdcQdrD=U7OVqer@p>30l|ke$8h;Mny-+PP&OM&AN z9)!bENg5Mr2g+GDIMyzQpS1RHE6ow;O*ye;(Qqej%JC?!D`u;<;Y}1qi5cL&jm6d9 za{plRJ0i|4?Q%(t)l_6f8An9e2<)bL3eULUVdWanGSP9mm?PqFbyOeeSs9{qLEO-) zTeH*<$kRyrHPr*li6p+K!HUCf$OQIqwIw^R#mTN>@bm^E=H=Ger_E=ztfGV9xTgh=}Hep!i97A;IMEC9nb5DBA5J#a8H_Daq~ z6^lZ=VT)7=y}H3=gm5&j!Q79#e%J>w(L?xBcj_RNj44r*6^~nCZZYtCrLG#Njm$$E z7wP?E?@mdLN~xyWosgwkCot8bEY-rUJLDo7gukwm@;TjXeQ>fr(wKP%7LnH4Xsv?o zUh6ta5qPx8a5)WO4 zK37@GE@?tG{!2_CGeq}M8VW(gU6QXSfadNDhZEZ}W2dwm)>Y7V1G^IaRI9ugWCP#sw1tPtU|13R!nwd1;Zw8VMx4hUJECJkocrIMbJI zS9k2|`0$SD%;g_d0cmE7^MXP_;_6`APcj1yOy_NXU22taG9Z;C2=Z1|?|5c^E}dR& zRfK2Eo=Y=sHm@O1`62ciS1iKv9BX=_l7PO9VUkWS7xlqo<@OxlR*tn$_WbrR8F?ha zBQ4Y!is^AIsq-46^uh;=9B`gE#Sh+4m>o@RMZFHHi=qb7QcUrgTos$e z^4-0Z?q<7XfCP~d#*7?hwdj%LyPj2}bsdWL6HctL)@!tU$ftMmV=miEvZ2KCJXP%q zLMG&%rVu8HaaM-tn4abcSE$88EYmK|5%_29B*L9NyO|~j3m>YGXf6fQL$(7>Bm9o zjHfJ+lmYu_`+}xUa^&i81%9UGQ6t|LV45I)^+m@Lz@jEeF;?_*y>-JbK`=ZVsSEWZ z$p^SK_v(0d02AyIv$}*8m)9kjef1-%H*_daPdSXD6mpc>TW`R$h9On=Z9n>+f4swL zBz^(d9uaQ_J&hjDvEP{&6pNz-bg;A===!Ac%}bu^>0}E)wdH1nc}?W*q^J2SX_A*d zBLF@n+=flfH96zs@2RlOz&;vJPiG6In>$&{D+`DNgzPYVu8<(N&0yPt?G|>D6COM# zVd)6v$i-VtYfYi1h)pXvO}8KO#wuF=F^WJXPC+;hqpv>{Z+FZTP1w&KaPl?D)*A=( z8$S{Fh;Ww&GqSvia6|MvKJg-RpNL<6MXTl(>1}XFfziRvPaLDT1y_tjLYSGS$N;8| zZC*Hcp!~u?v~ty3&dBm`1A&kUe6@`q!#>P>ZZZgGRYhNIxFU6B>@f@YL%hOV0=9s# z?@0~aR1|d9LFoSI+li~@?g({Y0_{~~E_MycHTXz`EZmR2$J$3QVoA25j$9pe?Ub)d z`jbm8v&V0JVfY-^1mG=a`70a_tjafgi}z-8$smw7Mc`-!*6y{rB-xN1l`G3PLBGk~ z{o(KCV0HEfj*rMAiluQuIZ1tevmU@m{adQQr3xgS!e_WXw&eE?GjlS+tL0@x%Hm{1 zzUF^qF*2KAxY0$~pzVRpg9dA*)^ z7&wu-V$7+Jgb<5g;U1z*ymus?oZi7&gr!_3zEttV`=5VlLtf!e&~zv~PdspA0JCRz zZi|bO5d)>E;q)?}OADAhGgey#6(>+36XVThP%b#8%|a9B_H^)Nps1md_lVv5~OO@(*IJO@;eqE@@(y}KA- z`zj@%6q#>hIgm9}*-)n(^Xbdp8`>w~3JCC`(H{NUh8Umm{NUntE+eMg^WvSyL+ilV zff54-b59jg&r_*;*#P~ON#I=gAW99hTD;}nh_j;)B6*tMgP_gz4?=2EJZg$8IU;Ly<(TTC?^)& zj@%V!4?DU&tE=8)BX6f~x0K+w$%=M3;Fpq$VhETRlJ8LEEe;aUcG;nBe|2Gw>+h7CuJ-^gYFhQzDg(`e=!2f7t0AXrl zAx`RQ1u1+}?EkEWSb|jQN)~wOg#Ss&1oHoFBvg{Z|4#g$)mNzjKLq+8rLR(jC(QUC Ojj7^59?Sdh$^Qpp*~F>< delta 8662 zcmYM1RaBhK(uL9BL4pT&ch}$qcL*As0R|^HFD`?-26qkaNwC3nu;A|Q0Yd)oJ7=x) z_f6HatE;=#>YLq{FoYf$!na@pfNwSyI%>|UMk5`vO(z@Ao)eZR(~D#FF?U$)+q)1q z9OVG^Ib0v?R8wYfQ*1H;5Oyixqnyt6cXR#u=LM~V7_GUu}N(b}1+x^JUL#_8Xj zB*(FInWvSPGo;K=k3}p&4`*)~)p`nX#}W&EpfKCcOf^7t zPUS81ov(mXS;$9To6q84I!tlP&+Z?lkctuIZ(SHN#^=JGZe^hr^(3d*40pYsjikBWME6IFf!!+kC*TBc!T)^&aJ#z0#4?OCUbNoa}pwh=_SFfMf|x$`-5~ zP%%u%QdWp#zY6PZUR8Mz1n$f44EpTEvKLTL;yiZrPCV=XEL09@qmQV#*Uu*$#-WMN zZ?rc(7}93z4iC~XHcatJev=ey*hnEzajfb|22BpwJ4jDi;m>Av|B?TqzdRm-YT(EV zCgl${%#nvi?ayAFYV7D_s#07}v&FI43BZz@`dRogK!k7Y!y6r=fvm~=F9QP{QTj>x z#Y)*j%`OZ~;rqP0L5@qYhR`qzh^)4JtE;*faTsB;dNHyGMT+fpyz~LDaMOO?c|6FD z{DYA+kzI4`aD;Ms|~h49UAvOfhMEFip&@&Tz>3O+MpC0s>`fl!T(;ZP*;Ux zr<2S-wo(Kq&wfD_Xn7XXQJ0E4u7GcC6pqe`3$fYZ5Eq4`H67T6lex_QP>Ca##n2zx z!tc=_Ukzf{p1%zUUkEO(0r~B=o5IoP1@#0A=uP{g6WnPnX&!1Z$UWjkc^~o^y^Kkn z%zCrr^*BPjcTA58ZR}?%q7A_<=d&<*mXpFSQU%eiOR`=78@}+8*X##KFb)r^zyfOTxvA@cbo65VbwoK0lAj3x8X)U5*w3(}5 z(Qfv5jl{^hk~j-n&J;kaK;fNhy9ZBYxrKQNCY4oevotO-|7X}r{fvYN+{sCFn2(40 zvCF7f_OdX*L`GrSf0U$C+I@>%+|wQv*}n2yT&ky;-`(%#^vF79p1 z>y`59E$f7!vGT}d)g)n}%T#-Wfm-DlGU6CX`>!y8#tm-Nc}uH50tG)dab*IVrt-TTEM8!)gIILu*PG_-fbnFjRA+LLd|_U3yas12Lro%>NEeG%IwN z{FWomsT{DqMjq{7l6ZECb1Hm@GQ`h=dcyApkoJ6CpK3n83o-YJnXxT9b2%TmBfKZ* zi~%`pvZ*;(I%lJEt9Bphs+j#)ws}IaxQYV6 zWBgVu#Kna>sJe;dBQ1?AO#AHecU~3cMCVD&G})JMkbkF80a?(~1HF_wv6X!p z6uXt_8u)`+*%^c@#)K27b&Aa%m>rXOcGQg8o^OB4t0}@-WWy38&)3vXd_4_t%F1|( z{z(S)>S!9eUCFA$fQ^127DonBeq@5FF|IR7(tZ?Nrx0(^{w#a$-(fbjhN$$(fQA(~|$wMG4 z?UjfpyON`6n#lVwcKQ+#CuAQm^nmQ!sSk>=Mdxk9e@SgE(L2&v`gCXv&8ezHHn*@% zi6qeD|I%Q@gb(?CYus&VD3EE#xfELUvni89Opq-6fQmY-9Di3jxF?i#O)R4t66ekw z)OW*IN7#{_qhrb?qlVwmM@)50jEGbjTiDB;nX{}%IC~pw{ev#!1`i6@xr$mgXX>j} zqgxKRY$fi?B7|GHArqvLWu;`?pvPr!m&N=F1<@i-kzAmZ69Sqp;$)kKg7`76GVBo{ zk+r?sgl{1)i6Hg2Hj!ehsDF3tp(@n2+l%ihOc7D~`vzgx=iVU0{tQ&qaV#PgmalfG zPj_JimuEvo^1X)dGYNrTHBXwTe@2XH-bcnfpDh$i?Il9r%l$Ob2!dqEL-To>;3O>` z@8%M*(1#g3_ITfp`z4~Z7G7ZG>~F0W^byMvwzfEf*59oM*g1H)8@2zL&da+$ms$Dp zrPZ&Uq?X)yKm7{YA;mX|rMEK@;W zA-SADGLvgp+)f01=S-d$Z8XfvEZk$amHe}B(gQX-g>(Y?IA6YJfZM(lWrf);5L zEjq1_5qO6U7oPSb>3|&z>OZ13;mVT zWCZ=CeIEK~6PUv_wqjl)pXMy3_46hB?AtR7_74~bUS=I}2O2CjdFDA*{749vOj2hJ z{kYM4fd`;NHTYQ_1Rk2dc;J&F2ex^}^%0kleFbM!yhwO|J^~w*CygBbkvHnzz@a~D z|60RVTr$AEa-5Z->qEMEfau=__2RanCTKQ{XzbhD{c!e5hz&$ZvhBX0(l84W%eW17 zQ!H)JKxP$wTOyq83^qmx1Qs;VuWuxclIp!BegkNYiwyMVBay@XWlTpPCzNn>&4)f* zm&*aS?T?;6?2>T~+!=Gq4fjP1Z!)+S<xiG>XqzY@WKKMzx?0|GTS4{ z+z&e0Uysciw#Hg%)mQ3C#WQkMcm{1yt(*)y|yao2R_FRX$WPvg-*NPoj%(k*{BA8Xx&0HEqT zI0Swyc#QyEeUc)0CC}x{p+J{WN>Z|+VZWDpzW`bZ2d7^Yc4ev~9u-K&nR zl#B0^5%-V4c~)1_xrH=dGbbYf*7)D&yy-}^V|Np|>V@#GOm($1=El5zV?Z`Z__tD5 zcLUi?-0^jKbZrbEny&VD!zA0Nk3L|~Kt4z;B43v@k~ zFwNisc~D*ZROFH;!f{&~&Pof-x8VG8{gSm9-Yg$G(Q@O5!A!{iQH0j z80Rs>Ket|`cbw>z$P@Gfxp#wwu;I6vi5~7GqtE4t7$Hz zPD=W|mg%;0+r~6)dC>MJ&!T$Dxq3 zU@UK_HHc`_nI5;jh!vi9NPx*#{~{$5Azx`_VtJGT49vB_=WN`*i#{^X`xu$9P@m>Z zL|oZ5CT=Zk?SMj{^NA5E)FqA9q88h{@E96;&tVv^+;R$K`kbB_ zZneKrSN+IeIrMq;4EcH>sT2~3B zrZf-vSJfekcY4A%e2nVzK8C5~rAaP%dV2Hwl~?W87Hdo<*EnDcbZqVUb#8lz$HE@y z2DN2AQh%OcqiuWRzRE>cKd)24PCc)#@o&VCo!Rcs;5u9prhK}!->CC)H1Sn-3C7m9 zyUeD#Udh1t_OYkIMAUrGU>ccTJS0tV9tW;^-6h$HtTbon@GL1&OukJvgz>OdY)x4D zg1m6Y@-|p;nB;bZ_O>_j&{BmuW9km4a728vJV5R0nO7wt*h6sy7QOT0ny-~cWTCZ3 z9EYG^5RaAbLwJ&~d(^PAiicJJs&ECAr&C6jQcy#L{JCK&anL)GVLK?L3a zYnsS$+P>UB?(QU7EI^%#9C;R-jqb;XWX2Bx5C;Uu#n9WGE<5U=zhekru(St>|FH2$ zOG*+Tky6R9l-yVPJk7giGulOO$gS_c!DyCog5PT`Sl@P!pHarmf7Y0HRyg$X@fB7F zaQy&vnM1KZe}sHuLY5u7?_;q!>mza}J?&eLLpx2o4q8$qY+G2&Xz6P8*fnLU+g&i2}$F%6R_Vd;k)U{HBg{+uuKUAo^*FRg!#z}BajS)OnqwXd!{u>Y&aH?)z%bwu_NB9zNw+~661!> zD3%1qX2{743H1G8d~`V=W`w7xk?bWgut-gyAl*6{dW=g_lU*m?fJ>h2#0_+J3EMz_ zR9r+0j4V*k>HU`BJaGd~@*G|3Yp?~Ljpth@!_T_?{an>URYtict~N+wb}%n)^GE8eM(=NqLnn*KJnE*v(7Oo)NmKB*qk;0&FbO zkrIQs&-)ln0-j~MIt__0pLdrcBH{C(62`3GvGjR?`dtTdX#tf-2qkGbeV;Ud6Dp0& z|A6-DPgg=v*%2`L4M&p|&*;;I`=Tn1M^&oER=Gp&KHBRxu_OuFGgX;-U8F?*2>PXjb!wwMMh_*N8$?L4(RdvV#O5cUu0F|_zQ#w1zMA4* zJeRk}$V4?zPVMB=^}N7x?(P7!x6BfI%*)yaUoZS0)|$bw07XN{NygpgroPW>?VcO} z@er3&#@R2pLVwkpg$X8HJM@>FT{4^Wi&6fr#DI$5{ERpM@|+60{o2_*a7k__tIvGJ9D|NPoX@$4?i_dQPFkx0^f$=#_)-hphQ93a0|`uaufR!Nlc^AP+hFWe~(j_DCZmv;7CJ4L7tWk{b;IFDvT zchD1qB=cE)Mywg5Nw>`-k#NQhT`_X^c`s$ODVZZ-)T}vgYM3*syn41}I*rz?)`Q<* zs-^C3!9AsV-nX^0wH;GT)Y$yQC*0x3o!Bl<%>h-o$6UEG?{g1ip>njUYQ}DeIw0@qnqJyo0do(`OyE4kqE2stOFNos%!diRfe=M zeU@=V=3$1dGv5ZbX!llJ!TnRQQe6?t5o|Y&qReNOxhkEa{CE6d^UtmF@OXk<_qkc0 zc+ckH8Knc!FTjk&5FEQ}$sxj!(a4223cII&iai-nY~2`|K89YKcrYFAMo^oIh@W^; zsb{KOy?dv_D5%}zPk_7^I!C2YsrfyNBUw_ude7XDc0-+LjC0!X_moHU3wmveS@GRu zX>)G}L_j1I-_5B|b&|{ExH~;Nm!xytCyc}Ed!&Hqg;=qTK7C93f>!m3n!S5Z!m`N} zjIcDWm8ES~V2^dKuv>8@Eu)Zi{A4;qHvTW7hB6B38h%$K76BYwC3DIQ0a;2fSQvo$ z`Q?BEYF1`@I-Nr6z{@>`ty~mFC|XR`HSg(HN>&-#&eoDw-Q1g;x@Bc$@sW{Q5H&R_ z5Aici44Jq-tbGnDsu0WVM(RZ=s;CIcIq?73**v!Y^jvz7ckw*=?0=B!{I?f{68@V( z4dIgOUYbLOiQccu$X4P87wZC^IbGnB5lLfFkBzLC3hRD?q4_^%@O5G*WbD?Wug6{<|N#Fv_Zf3ST>+v_!q5!fSy#{_XVq$;k*?Ar^R&FuFM7 zKYiLaSe>Cw@`=IUMZ*U#v>o5!iZ7S|rUy2(yG+AGnauj{;z=s8KQ(CdwZ>&?Z^&Bt z+74(G;BD!N^Ke>(-wwZN5~K%P#L)59`a;zSnRa>2dCzMEz`?VaHaTC>?&o|(d6e*Z zbD!=Ua-u6T6O!gQnncZ&699BJyAg9mKXd_WO8O`N@}bx%BSq)|jgrySfnFvzOj!44 z9ci@}2V3!ag8@ZbJO;;Q5ivdTWx+TGR`?75Jcje}*ufx@%5MFUsfsi%FoEx)&uzkN zgaGFOV!s@Hw3M%pq5`)M4Nz$)~Sr9$V2rkP?B7kvI7VAcnp6iZl zOd!(TNw+UH49iHWC4!W&9;ZuB+&*@Z$}>0fx8~6J@d)fR)WG1UndfdVEeKW=HAur| z15zG-6mf`wyn&x@&?@g1ibkIMob_`x7nh7yu9M>@x~pln>!_kzsLAY#2ng0QEcj)qKGj8PdWEuYKdM!jd{ zHP6j^`1g}5=C%)LX&^kpe=)X+KR4VRNli?R2KgYlwKCN9lcw8GpWMV+1Ku)~W^jV2 zyiTv-b*?$AhvU7j9~S5+u`Ysw9&5oo0Djp8e(j25Etbx42Qa=4T~}q+PG&XdkWDNF z7bqo#7KW&%dh~ST6hbu8S=0V`{X&`kAy@8jZWZJuYE}_#b4<-^4dNUc-+%6g($yN% z5ny^;ogGh}H5+Gq3jR21rQgy@5#TCgX+(28NZ4w}dzfx-LP%uYk9LPTKABaQh1ah) z@Y(g!cLd!Mcz+e|XI@@IH9z*2=zxJ0uaJ+S(iIsk7=d>A#L<}={n`~O?UTGX{8Pda z_KhI*4jI?b{A!?~-M$xk)w0QBJb7I=EGy&o3AEB_RloU;v~F8ubD@9BbxV1c36CsTX+wzAZlvUm*;Re06D+Bq~LYg-qF4L z5kZZ80PB&4U?|hL9nIZm%jVj0;P_lXar)NSt3u8xx!K6Y0bclZ%<9fwjZ&!^;!>ug zQ}M`>k@S{BR20cyVXtKK%Qa^7?e<%VSAPGmVtGo6zc6BkO5vW5)m8_k{xT3;ocdpH zudHGT06XU@y6U!&kP8i6ubMQl>cm7=(W6P7^24Uzu4Xpwc->ib?RSHL*?!d{c-aE# zp?TrFr{4iDL3dpljl#HHbEn{~eW2Nqfksa(r-}n)lJLI%e#Bu|+1% zN&!n(nv(3^jGx?onfDcyeCC*p6)DuFn_<*62b92Pn$LH(INE{z^8y?mEvvO zZ~2I;A2qXvuj>1kk@WsECq1WbsSC!0m8n=S^t3kxAx~of0vpv{EqmAmDJ3(o;-cvf zu$33Z)C0)Y4(iBhh@)lsS|a%{;*W(@DbID^$ z|FzcJB-RFzpkBLaFLQ;EWMAW#@K(D#oYoOmcctdTV?fzM2@6U&S#+S$&zA4t<^-!V z+&#*xa)cLnfMTVE&I}o#4kxP~JT3-A)L_5O!yA2ebq?zvb0WO1D6$r9p?!L0#)Fc> z+I&?aog~FPBH}BpWfW^pyc{2i8#Io6e)^6wv}MZn&`01oq@$M@5eJ6J^IrXLI) z4C!#kh)89u5*Q@W5(rYDqBKO6&G*kPGFZfu@J}ug^7!sC(Wcv3Fbe{$Sy|{-VXTct znsP+0v}kduRs=S=x0MA$*(7xZPE-%aIt^^JG9s}8$43E~^t4=MxmMts;q2$^sj=k( z#^suR{0Wl3#9KAI<=SC6hifXuA{o02vdyq>iw%(#tv+@ov{QZBI^*^1K?Q_QQqA5n9YLRwO3a7JR+1x3#d3lZL;R1@8Z!2hnWj^_5 z^M{3wg%f15Db5Pd>tS!6Hj~n^l478ljxe@>!C;L$%rKfm#RBw^_K&i~ZyY_$BC%-L z^NdD{thVHFlnwfy(a?{%!m;U_9ic*!OPxf&5$muWz7&4VbW{PP)oE5u$uXUZU>+8R zCsZ~_*HLVnBm*^{seTAV=iN)mB0{<}C!EgE$_1RMj1kGUU?cjSWu*|zFA(ZrNE(CkY7>Mv1C)E1WjsBKAE%w}{~apwNj z0h`k)C1$TwZ<3de9+>;v6A0eZ@xHm#^7|z9`gQ3<`+lpz(1(RsgHAM@Ja+)c?;#j- zC=&5FD)m@9AX}0g9XQ_Yt4YB}aT`XxM-t>7v@BV}2^0gu0zRH%S9}!P(MBAFGyJ8F zEMdB&{eGOd$RqV77Lx>8pX^<@TdL{6^K7p$0uMTLC^n)g*yXRXMy`tqjYIZ|3b#Iv z4<)jtQU5`b{A;r2QCqIy>@!uuj^TBed3OuO1>My{GQe<^9|$4NOHTKFp{GpdFY-kC zi?uHq>lF$}<(JbQatP0*>$Aw_lygfmUyojkE=PnV)zc)7%^5BxpjkU+>ol2}WpB2hlDP(hVA;uLdu`=M_A!%RaRTd6>Mi_ozLYOEh!dfT_h0dSsnQm1bk)%K45)xLw zql&fx?ZOMBLXtUd$PRlqpo2CxNQTBb=!T|_>p&k1F})Hq&xksq>o#4b+KSs2KyxPQ z#{(qj@)9r6u2O~IqHG76@Fb~BZ4Wz_J$p_NU9-b3V$$kzjN24*sdw5spXetOuU1SR z{v}b92c>^PmvPs>BK2Ylp6&1>tnPsBA0jg0RQ{({-?^SBBm>=W>tS?_h^6%Scc)8L zgsKjSU@@6kSFX%_3%Qe{i7Z9Wg7~fM_)v?ExpM@htI{G6Db5ak(B4~4kRghRp_7zr z#Pco0_(bD$IS6l2j>%Iv^Hc)M`n-vIu;-2T+6nhW0JZxZ|NfDEh;ZnAe d|9e8rKfIInFTYPwOD9TMuEcqhmizAn{|ERF)u#Xe diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a4413138c96..09523c0e549 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.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index b740cf13397..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 +# ############################################################################## # @@ -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 ########################################################################## From 14a740e223e37b49a552db45be9d3a453439edac Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Jul 2024 15:57:20 +0200 Subject: [PATCH 41/67] chore(deps): update all dependencies (#3475) | datasource | package | from | to | | ---------- | ----------------------------------------------------------------------------------------------------------------------- | ------ | ------ | | maven | org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin | 0.15.1 | 0.16.2 | | maven | org.jetbrains.kotlinx.kover:org.jetbrains.kotlinx.kover.gradle.plugin | 0.8.2 | 0.8.3 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f8f6093b92f..6baae56d849 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,9 +5,9 @@ coroutines = "1.8.1" classgraph = "4.8.174" dokka = "1.9.20" kotest = "5.9.1" -kover = "0.8.2" +kover = "0.8.3" kotlin = "2.0.0" -kotlinBinaryCompatibilityValidator = "0.15.1" +kotlinBinaryCompatibilityValidator = "0.16.2" kotlinCompileTesting = "0.5.1" knit = "0.5.0" kspVersion = "2.0.0-1.0.23" From 8d05063b1b656fa7cfb6041afddfa60b1ed59201 Mon Sep 17 00:00:00 2001 From: Martin Bonnin Date: Fri, 23 Aug 2024 16:51:22 +0200 Subject: [PATCH 42/67] [kdoc] minor spelling fix (#3473) --- .../src/commonMain/kotlin/arrow/fx/coroutines/Resource.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 6ce0262c9b2..98e266b4fa7 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 @@ -299,7 +299,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 From a78aa90c710ead37030c4552c17e917da4b75892 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 23 Aug 2024 17:11:57 +0200 Subject: [PATCH 43/67] chore(deps): update all dependencies (#3477) * chore(deps): update all dependencies | datasource | package | from | to | | -------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------ | ------------- | | gradle-version | gradle | 8.9 | 8.10 | | maven | com.android.library:com.android.library.gradle.plugin | 8.5.1 | 8.5.2 | | maven | com.gradle.develocity:com.gradle.develocity.gradle.plugin | 3.17.5 | 3.18 | | maven | com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin | 2.0.0-1.0.23 | 2.0.10-1.0.24 | | maven | com.google.devtools.ksp:symbol-processing-api | 2.0.0-1.0.23 | 2.0.10-1.0.24 | | maven | org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin | 0.16.2 | 0.16.3 | | maven | org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin | 2.0.0 | 2.0.10 | | maven | org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin | 2.0.0 | 2.0.10 | | maven | org.jetbrains.kotlin.multiplatform:org.jetbrains.kotlin.multiplatform.gradle.plugin | 2.0.0 | 2.0.20 | | maven | org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin | 2.0.0 | 2.0.20 | | maven | io.github.classgraph:classgraph | 4.8.174 | 4.8.175 | * Auto-update API files * Update libs.versions.toml --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] Co-authored-by: Alejandro Serrano --- .../core/arrow-core/api/arrow-core.klib.api | 10 +--------- .../core/arrow-eval/api/arrow-eval.klib.api | 2 -- .../api/arrow-fx-coroutines.klib.api | 4 ---- .../fx/arrow-fx-stm/api/arrow-fx-stm.api | 12 ------------ .../fx/arrow-fx-stm/api/arrow-fx-stm.klib.api | 6 ------ .../api/arrow-resilience.klib.api | 4 ---- gradle/libs.versions.toml | 10 +++++----- gradle/wrapper/gradle-wrapper.jar | Bin 43504 -> 43583 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle.kts | 2 +- 10 files changed, 8 insertions(+), 44 deletions(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 8b26ce02b08..c953876b1ca 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -474,8 +474,6 @@ open class <#A: kotlin/Any?> arrow.core.raise/RaiseAccumulate : arrow.core.raise } sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Either { // arrow.core/Either|null[0] - constructor () // arrow.core/Either.|(){}[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] @@ -559,8 +557,6 @@ sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Either { // a } sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Ior { // arrow.core/Ior|null[0] - constructor () // arrow.core/Ior.|(){}[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] @@ -632,8 +628,6 @@ sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?> arrow.core/Ior { // arro } sealed class <#A: out kotlin/Any?> arrow.core/Option { // arrow.core/Option|null[0] - constructor () // arrow.core/Option.|(){}[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] @@ -657,9 +651,7 @@ sealed class <#A: out kotlin/Any?> arrow.core/Option { // arrow.core/Option|null } } -sealed class arrow.core.raise/RaiseCancellationException : kotlin.coroutines.cancellation/CancellationException { // arrow.core.raise/RaiseCancellationException|null[0] - constructor (kotlin/Any?, arrow.core.raise/Raise) // arrow.core.raise/RaiseCancellationException.|(kotlin.Any?;arrow.core.raise.Raise){}[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] diff --git a/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api index 66d751192ca..168fec869ec 100644 --- a/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api +++ b/arrow-libs/core/arrow-eval/api/arrow-eval.klib.api @@ -7,8 +7,6 @@ // Library unique name: sealed class <#A: out kotlin/Any?> arrow.eval/Eval { // arrow.eval/Eval|null[0] - constructor () // arrow.eval/Eval.|(){}[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] 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 index 86e1b6bc717..fffa018c578 100644 --- 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 @@ -61,8 +61,6 @@ final class arrow.fx.coroutines/CyclicBarrierCancellationException : kotlin.coro } sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?> arrow.fx.coroutines/Race3 { // arrow.fx.coroutines/Race3|null[0] - constructor () // arrow.fx.coroutines/Race3.|(){}[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] @@ -106,8 +104,6 @@ sealed class <#A: out kotlin/Any?, #B: out kotlin/Any?, #C: out kotlin/Any?> arr } sealed class arrow.fx.coroutines/ExitCase { // arrow.fx.coroutines/ExitCase|null[0] - constructor () // arrow.fx.coroutines/ExitCase.|(){}[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] 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 e5a1ed57e45..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 @@ -119,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 @@ -143,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; @@ -162,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; @@ -181,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; @@ -198,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; @@ -215,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 index 63e7a827522..95558702562 100644 --- 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 @@ -68,7 +68,6 @@ abstract interface arrow.fx.stm/STM { // arrow.fx.stm/STM|null[0] } final class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.stm/TMap { // arrow.fx.stm/TMap|null[0] - final fun copy(arrow.fx.stm.internal/Hamt> = ..., kotlin/Function1<#A, kotlin/Int> = ...): arrow.fx.stm/TMap<#A, #B> // arrow.fx.stm/TMap.copy|copy(arrow.fx.stm.internal.Hamt>;kotlin.Function1<1:0,kotlin.Int>){}[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] @@ -80,7 +79,6 @@ final class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.fx.stm/TMap { // arrow.fx.s } final class <#A: kotlin/Any?> arrow.fx.stm/TArray { // arrow.fx.stm/TArray|null[0] - final fun copy(kotlin/Array> = ...): arrow.fx.stm/TArray<#A> // arrow.fx.stm/TArray.copy|copy(kotlin.Array>){}[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] @@ -95,7 +93,6 @@ final class <#A: kotlin/Any?> arrow.fx.stm/TArray { // arrow.fx.stm/TArray|null[ } final class <#A: kotlin/Any?> arrow.fx.stm/TMVar { // arrow.fx.stm/TMVar|null[0] - final fun copy(arrow.fx.stm/TVar> = ...): arrow.fx.stm/TMVar<#A> // arrow.fx.stm/TMVar.copy|copy(arrow.fx.stm.TVar>){}[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] @@ -107,7 +104,6 @@ final class <#A: kotlin/Any?> arrow.fx.stm/TMVar { // arrow.fx.stm/TMVar|null[0] } final class <#A: kotlin/Any?> arrow.fx.stm/TQueue { // arrow.fx.stm/TQueue|null[0] - final fun copy(arrow.fx.stm/TVar> = ..., arrow.fx.stm/TVar> = ...): arrow.fx.stm/TQueue<#A> // arrow.fx.stm/TQueue.copy|copy(arrow.fx.stm.TVar>;arrow.fx.stm.TVar>){}[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] @@ -118,7 +114,6 @@ final class <#A: kotlin/Any?> arrow.fx.stm/TQueue { // arrow.fx.stm/TQueue|null[ } final class <#A: kotlin/Any?> arrow.fx.stm/TSet { // arrow.fx.stm/TSet|null[0] - final fun copy(arrow.fx.stm.internal/Hamt<#A> = ..., kotlin/Function1<#A, kotlin/Int> = ...): arrow.fx.stm/TSet<#A> // arrow.fx.stm/TSet.copy|copy(arrow.fx.stm.internal.Hamt<1:0>;kotlin.Function1<1:0,kotlin.Int>){}[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] @@ -144,7 +139,6 @@ final class arrow.fx.stm.internal/BlockedIndefinitely : kotlin/Throwable { // ar } final class arrow.fx.stm/TSemaphore { // arrow.fx.stm/TSemaphore|null[0] - final fun copy(arrow.fx.stm/TVar = ...): arrow.fx.stm/TSemaphore // arrow.fx.stm/TSemaphore.copy|copy(arrow.fx.stm.TVar){}[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] diff --git a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api index 1eb559f0aa1..17cf9ae567e 100644 --- a/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api +++ b/arrow-libs/resilience/arrow-resilience/api/arrow-resilience.klib.api @@ -49,8 +49,6 @@ final class arrow.resilience/CircuitBreaker { // arrow.resilience/CircuitBreaker } sealed class OpeningStrategy { // arrow.resilience/CircuitBreaker.OpeningStrategy|null[0] - constructor () // arrow.resilience/CircuitBreaker.OpeningStrategy.|(){}[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] @@ -99,8 +97,6 @@ final class arrow.resilience/CircuitBreaker { // arrow.resilience/CircuitBreaker } sealed class State { // arrow.resilience/CircuitBreaker.State|null[0] - constructor () // arrow.resilience/CircuitBreaker.State.|(){}[0] - abstract val openingStrategy // arrow.resilience/CircuitBreaker.State.openingStrategy|{}openingStrategy[0] abstract fun (): arrow.resilience/CircuitBreaker.OpeningStrategy // arrow.resilience/CircuitBreaker.State.openingStrategy.|(){}[0] diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6baae56d849..6b22a5fc4de 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,15 +2,15 @@ animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" coroutines = "1.8.1" -classgraph = "4.8.174" +classgraph = "4.8.175" dokka = "1.9.20" kotest = "5.9.1" kover = "0.8.3" -kotlin = "2.0.0" -kotlinBinaryCompatibilityValidator = "0.16.2" +kotlin = "2.0.20" +kotlinBinaryCompatibilityValidator = "0.16.3" kotlinCompileTesting = "0.5.1" knit = "0.5.0" -kspVersion = "2.0.0-1.0.23" +kspVersion = "2.0.20-1.0.24" kotlinxSerialization = "1.7.1" mockWebServer = "4.12.0" retrofit = "2.11.0" @@ -18,7 +18,7 @@ moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.6.8" composePlugin = "1.6.11" -agp = "8.5.1" +agp = "8.5.2" android-compileSdk = "34" cache4k = "0.13.0" publish="0.29.0" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 2c3521197d7c4586c843d1d3e9090525f1898cde..a4b76b9530d66f5e68d973ea569d8e19de379189 100644 GIT binary patch delta 3990 zcmV;H4{7l5(*nQL0Kr1kzC=_KMxQY0|W5(lc#i zH*M1^P4B}|{x<+fkObwl)u#`$GxKKV&3pg*-y6R6txw)0qU|Clf9Uds3x{_-**c=7 z&*)~RHPM>Rw#Hi1R({;bX|7?J@w}DMF>dQQU2}9yj%iLjJ*KD6IEB2^n#gK7M~}6R zkH+)bc--JU^pV~7W=3{E*4|ZFpDpBa7;wh4_%;?XM-5ZgZNnVJ=vm!%a2CdQb?oTa z70>8rTb~M$5Tp!Se+4_OKWOB1LF+7gv~$$fGC95ToUM(I>vrd$>9|@h=O?eARj0MH zT4zo(M>`LWoYvE>pXvqG=d96D-4?VySz~=tPVNyD$XMshoTX(1ZLB5OU!I2OI{kb) zS8$B8Qm>wLT6diNnyJZC?yp{Kn67S{TCOt-!OonOK7$K)e-13U9GlnQXPAb&SJ0#3 z+vs~+4Qovv(%i8g$I#FCpCG^C4DdyQw3phJ(f#y*pvNDQCRZ~MvW<}fUs~PL=4??j zmhPyg<*I4RbTz|NHFE-DC7lf2=}-sGkE5e!RM%3ohM7_I^IF=?O{m*uUPH(V?gqyc(Rp?-Qu(3bBIL4Fz(v?=_Sh?LbK{nqZMD>#9D_hNhaV$0ef3@9V90|0u#|PUNTO>$F=qRhg1duaE z0`v~X3G{8RVT@kOa-pU+z8{JWyP6GF*u2e8eKr7a2t1fuqQy)@d|Qn(%YLZ62TWtoX@$nL}9?atE#Yw`rd(>cr0gY;dT9~^oL;u)zgHUvxc2I*b&ZkGM-iq=&(?kyO(3}=P! zRp=rErEyMT5UE9GjPHZ#T<`cnD)jyIL!8P{H@IU#`e8cAG5jMK zVyKw7--dAC;?-qEu*rMr$5@y535qZ6p(R#+fLA_)G~!wnT~~)|s`}&fA(s6xXN`9j zP#Fd3GBa#HeS{5&8p?%DKUyN^X9cYUc6vq}D_3xJ&d@=6j(6BZKPl?!k1?!`f3z&a zR4ZF60Mx7oBxLSxGuzA*Dy5n-d2K=+)6VMZh_0KetK|{e;E{8NJJ!)=_E~1uu=A=r zrn&gh)h*SFhsQJo!f+wKMIE;-EOaMSMB@aXRU(UcnJhZW^B^mgs|M9@5WF@s6B0p& zm#CTz)yiQCgURE{%hjxHcJ6G&>G9i`7MyftL!QQd5 z@RflRs?7)99?X`kHNt>W3l7YqscBpi*R2+fsgABor>KVOu(i(`03aytf2UA!&SC9v z!E}whj#^9~=XHMinFZ;6UOJjo=mmNaWkv~nC=qH9$s-8roGeyaW-E~SzZ3Gg>j zZ8}<320rg4=$`M0nxN!w(PtHUjeeU?MvYgWKZ6kkzABK;vMN0|U;X9abJleJA(xy<}5h5P(5 z{RzAFPvMnX2m0yH0Jn2Uo-p`daE|(O`YQiC#jB8;6bVIUf?SY(k$#C0`d6qT`>Xe0+0}Oj0=F&*D;PVe=Z<=0AGI<6$gYLwa#r` zm449x*fU;_+J>Mz!wa;T-wldoBB%&OEMJgtm#oaI60TSYCy7;+$5?q!zi5K`u66Wq zvg)Fx$s`V3Em{=OEY{3lmh_7|08ykS&U9w!kp@Ctuzqe1JFOGz6%i5}Kmm9>^=gih z?kRxqLA<3@e=}G4R_?phW{4DVr?`tPfyZSN@R=^;P;?!2bh~F1I|fB7P=V=9a6XU5 z<#0f>RS0O&rhc&nTRFOW7&QhevP0#>j0eq<1@D5yAlgMl5n&O9X|Vq}%RX}iNyRFF z7sX&u#6?E~bm~N|z&YikXC=I0E*8Z$v7PtWfjy)$e_Ez25fnR1Q=q1`;U!~U>|&YS zaOS8y!^ORmr2L4ik!IYR8@Dcx8MTC=(b4P6iE5CnrbI~7j7DmM8em$!da&D!6Xu)!vKPdLG z9f#)se|6=5yOCe)N6xDhPI!m81*dNe7u985zi%IVfOfJh69+#ag4ELzGne?o`eA`42K4T)h3S+s)5IT97%O>du- z0U54L8m4}rkRQ?QBfJ%DLssy^+a7Ajw;0&`NOTY4o;0-ivm9 zBz1C%nr_hQ)X)^QM6T1?=yeLkuG9Lf50(eH}`tFye;01&(p?8i+6h};VV-2B~qdxeC#=X z(JLlzy&fHkyi9Ksbcs~&r^%lh^2COldLz^H@X!s~mr9Dr6z!j+4?zkD@Ls7F8(t(f z9`U?P$Lmn*Y{K}aR4N&1N=?xtQ1%jqf1~pJyQ4SgBrEtR`j4lQuh7cqP49Em5cO=I zB(He2`iPN5M=Y0}h(IU$37ANTGx&|b-u1BYA*#dE(L-lptoOpo&th~E)_)y-`6kSH z3vvyVrcBwW^_XYReJ=JYd9OBQrzv;f2AQdZH#$Y{Y+Oa33M70XFI((fs;mB4e`<<{ ze4dv2B0V_?Ytsi>>g%qs*}oDGd5d(RNZ*6?7qNbdp7wP4T72=F&r?Ud#kZr8Ze5tB z_oNb7{G+(o2ajL$!69FW@jjPQ2a5C)m!MKKRirC$_VYIuVQCpf9rIms0GRDf)8AH${I`q^~5rjot@#3$2#zT2f`(N^P7Z;6(@EK$q*Jgif00I6*^ZGV+XB5uw*1R-@23yTw&WKD{s1;HTL;dO)%5i#`dc6b7;5@^{KU%N|A-$zsYw4)7LA{3`Zp>1 z-?K9_IE&z)dayUM)wd8K^29m-l$lFhi$zj0l!u~4;VGR6Y!?MAfBC^?QD53hy6VdD z@eUZIui}~L%#SmajaRq1J|#> z4m=o$vZ*34=ZWK2!QMNEcp2Lbc5N1q!lEDq(bz0b;WI9;e>l=CG9^n#ro`w>_0F$Q zfZ={2QyTkfByC&gy;x!r*NyXXbk=a%~~(#K?< zTke0HuF5{Q+~?@!KDXR|g+43$+;ab`^flS%miup_0OUTm=nIc%d5nLP)i308PIjl_YMF6cpQ__6&$n6it8K- z8PIjl_YMF6cpQ_!r)L8IivW`WdK8mBs6PXdjR2DYdK8nCs73=4j{uVadK8oNjwX|E wpAeHLsTu^*Y>Trk?aBtSQ(D-o$(D8Px^?ZI-PUB? z*1fv!{YdHme3Fc8%cR@*@zc5A_nq&2=R47Hp@$-JF4Fz*;SLw5}K^y>s-s;V!}b2i=5=M- zComP?ju>8Fe@=H@rlwe1l`J*6BTTo`9b$zjQ@HxrAhp0D#u?M~TxGC_!?ccCHCjt| zF*PgJf@kJB`|Ml}cmsyrAjO#Kjr^E5p29w+#>$C`Q|54BoDv$fQ9D?3n32P9LPMIzu?LjNqggOH=1@T{9bMn*u8(GI z!;MLTtFPHal^S>VcJdiYqX0VU|Rn@A}C1xOlxCribxes0~+n2 z6qDaIA2$?e`opx3_KW!rAgbpzU)gFdjAKXh|5w``#F0R|c)Y)Du0_Ihhz^S?k^pk% zP>9|pIDx)xHH^_~+aA=^$M!<8K~Hy(71nJGf6`HnjtS=4X4=Hk^O71oNia2V{HUCC zoN3RSBS?mZCLw;l4W4a+D8qc)XJS`pUJ5X-f^1ytxwr`@si$lAE?{4G|o; zO0l>`rr?;~c;{ZEFJ!!3=7=FdGJ?Q^xfNQh4A?i;IJ4}B+A?4olTK(fN++3CRBP97 ze~lG9h%oegkn)lpW-4F8o2`*WW0mZHwHez`ko@>U1_;EC_6ig|Drn@=DMV9YEUSCa zIf$kHei3(u#zm9I!Jf(4t`Vm1lltJ&lVHy(eIXE8sy9sUpmz%I_gA#8x^Zv8%w?r2 z{GdkX1SkzRIr>prRK@rqn9j2wG|rUvf6PJbbin=yy-TAXrguvzN8jL$hUrIXzr^s5 zVM?H4;eM-QeRFr06@ifV(ocvk?_)~N@1c2ien56UjWXid6W%6ievIh)>dk|rIs##^kY67ib8Kw%#-oVFaXG7$ERyA9(NSJUvWiOA5H(!{uOpcW zg&-?iqPhds%3%tFspHDqqr;A!e@B#iPQjHd=c>N1LoOEGRehVoPOdxJ>b6>yc#o#+ zl8s8!(|NMeqjsy@0x{8^j0d00SqRZjp{Kj)&4UHYGxG+z9b-)72I*&J70?+8e?p_@ z=>-(>l6z5vYlP~<2%DU02b!mA{7mS)NS_eLe=t)sm&+Pmk?asOEKlkPQ)EUvvfC=;4M&*|I!w}(@V_)eUKLA_t^%`o z0PM9LV|UKTLnk|?M3u!|f2S0?UqZsEIH9*NJS-8lzu;A6-rr-ot=dg9SASoluZUkFH$7X; zP=?kYX!K?JL-b~<#7wU;b;eS)O;@?h%sPPk{4xEBxb{!sm0AY|f9cNvx6>$3F!*0c z75H=dy8JvTyO8}g1w{$9T$p~5en}AeSLoCF>_RT9YPMpChUjl310o*$QocjbH& zbnwg#gssR#jDVN{uEi3n(PZ%PFZ|6J2 z5_rBf0-u>e4sFe0*Km49ATi7>Kn0f9!uc|rRMR1Dtt6m1LW8^>qFlo}h$@br=Rmpi z;mI&>OF64Be{dVeHI8utrh)v^wsZ0jii%x8UgZ8TC%K~@I(4E};GFW&(;WVov}3%H zH;IhRkfD^(vt^DjZz(MyHLZxv8}qzPc(%itBkBwf_fC~sDBgh<3XAv5cxxfF3<2U! z03Xe&z`is!JDHbe;mNmfkH+_LFE*I2^mdL@7(@9DfAcP6O04V-ko;Rpgp<%Cj5r8Z zd0`sXoIjV$j)--;jA6Zy^D5&5v$o^>e%>Q?9GLm{i~p^lAn!%ZtF$I~>39XVZxk0b zROh^Bk9cE0AJBLozZIEmy7xG(yHWGztvfnr0(2ro1%>zsGMS^EMu+S$r=_;9 zWwZkgf7Q7`H9sLf2Go^Xy6&h~a&%s2_T@_Csf19MntF$aVFiFkvE3_hUg(B@&Xw@YJ zpL$wNYf78=0c@!QU6_a$>CPiXT7QAGDM}7Z(0z#_ZA=fmLUj{2z7@Ypo71UDy8GHr z-&TLKf6a5WCf@Adle3VglBt4>Z>;xF}}-S~B7<(%B;Y z0QR55{z-buw>8ilNM3u6I+D$S%?)(p>=eBx-HpvZj{7c*_?K=d()*7q?93us}1dq%FAFYLsW8ZTQ_XZLh`P2*6(NgS}qGcfGXVWpwsp#Rs}IuKbk*`2}&) zI^Vsk6S&Q4@oYS?dJ`NwMVBs6f57+RxdqVub#PvMu?$=^OJy5xEl0<5SLsSRy%%a0 zi}Y#1-F3m;Ieh#Y12UgW?-R)|eX>ZuF-2cc!1>~NS|XSF-6In>zBoZg+ml!6%fk7U zw0LHcz8VQk(jOJ+Yu)|^|15ufl$KQd_1eUZZzj`aC%umU6F1&D5XVWce_wAe(qCSZ zpX-QF4e{EmEVN9~6%bR5U*UT{eMHfcUo`jw*u?4r2s_$`}U{?NjvEm(u&<>B|%mq$Q3weshxk z76<``8vh{+nX`@9CB6IE&z)I%IFjR^LH{s1p|eppv=x za(g_jLU|xjWMAn-V7th$f({|LG8zzIE0g?cyW;%Dmtv%C+0@xVxPE^ zyZzi9P%JAD6ynwHptuzP`Kox7*9h7XSMonCalv;Md0i9Vb-c*!f0ubfk?&T&T}AHh z4m8Bz{JllKcdNg?D^%a5MFQ;#1z|*}H^qHLzW)L}wp?2tY7RejtSh8<;Zw)QGJYUm z|MbTxyj*McKlStlT9I5XlSWtQGN&-LTr2XyNU+`490rg?LYLMRnz-@oKqT1hpCGqP zyRXt4=_Woj$%n5ee<3zhLF>5>`?m9a#xQH+Jk_+|RM8Vi;2*XbK- zEL6sCpaGPzP>k8f4Kh|##_imt#zJMB;ir|JrMPGW`rityK1vHXMLy18%qmMQAm4WZ zP)i30KR&5vs15)C+8dM66&$k~i|ZT;KR&5vs15)C+8dJ(sAmGPijyIz6_bsqKLSFH zlOd=TljEpH0>h4zA*dCTK&emy#FCRCs1=i^sZ9bFmXjf<6_X39E(XY)00000#N437 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0e549..9355b415575 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.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/settings.gradle.kts b/settings.gradle.kts index c260d1e19e9..0cc895b66f9 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id("com.gradle.develocity") version "3.17.5" + id("com.gradle.develocity") version "3.18" id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") } From 35212362e6e978f33c045a0c33f343a0f1da9b57 Mon Sep 17 00:00:00 2001 From: ruben-personio <155467310+ruben-personio@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:04:18 +0200 Subject: [PATCH 44/67] Fix KDoc of Either's combine method (#3486) Either.combine's method description contains an error. It states: "... otherwise it returns the `this` or fallbacks to [other] in case `this` is [Left]" But the opposite is true: it returns this if this is Left and other if other is Left. --- .../core/arrow-core/src/commonMain/kotlin/arrow/core/Either.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0b7a27dd651..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 @@ -1367,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) { From a0219276a0aa9bd22c2c07d43869acc8ddea9af8 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Tue, 10 Sep 2024 10:07:24 +0200 Subject: [PATCH 45/67] Move `autoClose` for `Resource` to `common` (#3483) --- .../arrow-autoclose/api/arrow-autoclose.api | 4 -- .../core/arrow-autoclose/knit.code.include | 1 - .../kotlin/arrow/AutoCloseableExtensions.kt | 7 --- .../examples/example-autocloseable-01.kt | 1 - .../examples/example-autocloseable-02.kt | 1 - .../api/arrow-fx-coroutines.api | 8 ++-- .../api/arrow-fx-coroutines.klib.api | 2 + .../fx/arrow-fx-coroutines/build.gradle.kts | 1 + .../kotlin/arrow/fx/coroutines/Resource.kt | 44 ++++++++++++++++--- .../fx/coroutines/ResourceAutoCloseTest.kt | 43 ++++++++++++++++++ .../arrow/fx/coroutines/ResourceExtensions.kt | 6 +++ .../arrow/fx/coroutines/ResourceExtensions.kt | 36 ++------------- .../arrow/fx/coroutines/ResourceTestJvm.kt | 12 +++-- .../kotlin/examples/example-resource-10.kt | 13 ++++++ .../examples/example-resourceextensions-03.kt | 17 +++---- .../examples/example-resourceextensions-04.kt | 6 +-- .../examples/example-resourceextensions-05.kt | 14 ------ .../arrow/fx/coroutines/ResourceExtensions.kt | 7 +++ .../arrow/fx/coroutines/ResourceExtensions.kt | 6 +++ 19 files changed, 140 insertions(+), 89 deletions(-) delete mode 100644 arrow-libs/core/arrow-autoclose/src/jvmMain/kotlin/arrow/AutoCloseableExtensions.kt create mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/commonTest/kotlin/arrow/fx/coroutines/ResourceAutoCloseTest.kt create mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/jsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt create mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resource-10.kt delete mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/examples/example-resourceextensions-05.kt create mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/nativeMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt create mode 100644 arrow-libs/fx/arrow-fx-coroutines/src/wasmJsMain/kotlin/arrow/fx/coroutines/ResourceExtensions.kt 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/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/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.api b/arrow-libs/fx/arrow-fx-coroutines/api/arrow-fx-coroutines.api index 315aa8734d7..905e32fc239 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 @@ -217,10 +217,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; @@ -238,6 +234,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; 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 index fffa018c578..63e5fc3e47f 100644 --- 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 @@ -147,6 +147,7 @@ final fun <#A: kotlin/Any?> (kotlinx.coroutines.flow/Flow<#A>).arrow.fx.coroutin 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] @@ -166,6 +167,7 @@ final suspend fun <#A: kotlin/Any?> (kotlin.coroutines/SuspendFunction1 (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] diff --git a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts index 57aa3c3d677..0289ac1dc07 100644 --- a/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts +++ b/arrow-libs/fx/arrow-fx-coroutines/build.gradle.kts @@ -33,6 +33,7 @@ kotlin { commonTest { dependencies { implementation(projects.arrowCore) + implementation(projects.arrowAtomic) implementation(libs.kotlin.test) implementation(libs.coroutines.test) implementation(libs.kotest.assertionsCore) 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 98e266b4fa7..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 @@ -517,9 +514,9 @@ private value class ResourceScopeImpl( acquire().also { a -> val finalizer: suspend (ExitCase) -> Unit = { exitCase -> val errorOrNull = when (exitCase) { - Completed -> null - is Cancelled -> exitCase.exception - is Failure -> exitCase.failure + ExitCase.Completed -> null + is ExitCase.Cancelled -> exitCase.exception + is ExitCase.Failure -> exitCase.failure } release(a, errorOrNull) } @@ -536,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/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/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/ResourceTestJvm.kt b/arrow-libs/fx/arrow-fx-coroutines/src/jvmTest/kotlin/arrow/fx/coroutines/ResourceTestJvm.kt index f71f670ba07..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 { + @Test fun autoCloseableJvmClosesOnError() = runTest { checkAll(10, Arb.throwable()) { throwable -> - val t = AutoCloseableTest() + val t = AutoCloseableJvmTest() shouldThrow { resourceScope { 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 From 137bcdc080b43c36680be2ecf87d739a781b0d24 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Tue, 10 Sep 2024 10:07:37 +0200 Subject: [PATCH 46/67] Fix optics generation for `object` name (#3482) --- .../arrow/optics/plugin/internals/domain.kt | 2 +- .../arrow/optics/plugin/internals/lenses.kt | 5 +-- .../kotlin/arrow/optics/plugin/DSLTests.kt | 33 +++++++++++++++++++ 3 files changed, 35 insertions(+), 5 deletions(-) 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 2763c6afd72..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()) { 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 1583dc4494e..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() -> { 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 844ae0f2e07..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 @@ -195,4 +195,37 @@ class DSLTests { |} """.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) + } } From 4843a5ddee5af52effbcc8f1988ed131dbf4f150 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:07:50 +0200 Subject: [PATCH 47/67] chore(deps): update all dependencies (#3484) | datasource | package | from | to | | -------------- | ------------------------------------------------------------- | ------------- | ------------- | | gradle-version | gradle | 8.10 | 8.10.1 | | maven | com.android.library:com.android.library.gradle.plugin | 8.5.2 | 8.6.0 | | maven | androidx.compose.runtime:runtime | 1.6.8 | 1.7.0 | | maven | org.jetbrains.kotlinx:kotlinx-serialization-json | 1.7.1 | 1.7.2 | | maven | org.jetbrains.kotlinx:kotlinx-serialization-core | 1.7.1 | 1.7.2 | | maven | com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin | 2.0.20-1.0.24 | 2.0.20-1.0.25 | | maven | com.google.devtools.ksp:symbol-processing-api | 2.0.20-1.0.24 | 2.0.20-1.0.25 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 8 ++++---- gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6b22a5fc4de..729ef70a21b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,15 +10,15 @@ kotlin = "2.0.20" kotlinBinaryCompatibilityValidator = "0.16.3" kotlinCompileTesting = "0.5.1" knit = "0.5.0" -kspVersion = "2.0.20-1.0.24" -kotlinxSerialization = "1.7.1" +kspVersion = "2.0.20-1.0.25" +kotlinxSerialization = "1.7.2" mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" -compose = "1.6.8" +compose = "1.7.0" composePlugin = "1.6.11" -agp = "8.5.2" +agp = "8.6.0" android-compileSdk = "34" cache4k = "0.13.0" publish="0.29.0" diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9355b415575..0aaefbcaf0f 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.10-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 8ff3beba8a569562c36a23405b9e02f426c4ece9 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Tue, 10 Sep 2024 10:08:03 +0200 Subject: [PATCH 48/67] Make `raise` available in `Option.catch` (#3481) --- arrow-libs/core/arrow-core/api/arrow-core.api | 8 ++++---- arrow-libs/core/arrow-core/api/arrow-core.klib.api | 4 ++-- .../src/commonMain/kotlin/arrow/core/Option.kt | 11 ++++------- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index b7a4f020cf2..60ce585caa5 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -597,15 +597,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 { diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index c953876b1ca..406a5a7848e 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -646,8 +646,8 @@ sealed class <#A: out kotlin/Any?> arrow.core/Option { // arrow.core/Option|null 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/Function0<#A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function0<0:0>){0§}[0] - final inline fun <#A2: kotlin/Any?> catch(kotlin/Function1>, kotlin/Function0<#A2>): arrow.core/Option<#A2> // arrow.core/Option.Companion.catch|catch(kotlin.Function1>;kotlin.Function0<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] } } 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) } } From ea0e0f9cd71bf303400f90ddd6980546b5de94e3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:11:13 +0200 Subject: [PATCH 49/67] chore(deps): update gradle/actions action to v4 (#3478) | datasource | package | from | to | | ----------- | -------------- | ---- | -- | | github-tags | gradle/actions | v3 | v4 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/githubpages.yaml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/pull_request.yml | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 12 deletions(-) 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 36e73c38bd9..5ebfec4a8d0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -38,7 +38,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/pull_request.yml b/.github/workflows/pull_request.yml index 27df80840f1..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' }} @@ -249,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' }} @@ -283,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' }} @@ -313,7 +313,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' }} From e0e5e12286966a73b87619cb21dd448e59129719 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 21 Sep 2024 17:43:25 +0200 Subject: [PATCH 50/67] chore(deps): update all dependencies (#3488) | datasource | package | from | to | | ---------- | --------------------------------------------------------- | ------- | ------- | | maven | com.android.library:com.android.library.gradle.plugin | 8.6.0 | 8.6.1 | | maven | com.gradle.develocity:com.gradle.develocity.gradle.plugin | 3.18 | 3.18.1 | | maven | androidx.compose.runtime:runtime | 1.7.0 | 1.7.2 | | maven | org.jetbrains.kotlinx:kotlinx-serialization-json | 1.7.2 | 1.7.3 | | maven | org.jetbrains.kotlinx:kotlinx-serialization-core | 1.7.2 | 1.7.3 | | maven | io.github.classgraph:classgraph | 4.8.175 | 4.8.176 | | maven | org.jetbrains.kotlinx:kotlinx-coroutines-test | 1.8.1 | 1.9.0 | | maven | org.jetbrains.kotlinx:kotlinx-coroutines-core | 1.8.1 | 1.9.0 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 10 +++++----- settings.gradle.kts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 729ef70a21b..d0204b4e634 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,8 +1,8 @@ [versions] animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" -coroutines = "1.8.1" -classgraph = "4.8.175" +coroutines = "1.9.0" +classgraph = "4.8.176" dokka = "1.9.20" kotest = "5.9.1" kover = "0.8.3" @@ -11,14 +11,14 @@ kotlinBinaryCompatibilityValidator = "0.16.3" kotlinCompileTesting = "0.5.1" knit = "0.5.0" kspVersion = "2.0.20-1.0.25" -kotlinxSerialization = "1.7.2" +kotlinxSerialization = "1.7.3" mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" -compose = "1.7.0" +compose = "1.7.2" composePlugin = "1.6.11" -agp = "8.6.0" +agp = "8.6.1" android-compileSdk = "34" cache4k = "0.13.0" publish="0.29.0" diff --git a/settings.gradle.kts b/settings.gradle.kts index 0cc895b66f9..8500aca8674 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,7 +17,7 @@ pluginManagement { } plugins { - id("com.gradle.develocity") version "3.18" + id("com.gradle.develocity") version "3.18.1" id("org.gradle.toolchains.foojay-resolver-convention") version("0.8.0") } From 2363757f101b090066731d7e2c27d5bec13394e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 14:00:27 +0200 Subject: [PATCH 51/67] chore(deps): update dependency gradle to v8.10.2 (#3491) | datasource | package | from | to | | -------------- | ------- | ------ | ------ | | gradle-version | gradle | 8.10.1 | 8.10.2 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0aaefbcaf0f..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.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME From 3bd789086501bb6126f8965fee7b9365e0ddbbc0 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 2 Oct 2024 19:33:25 +0200 Subject: [PATCH 52/67] Raise accumulating/zip DSL (#3436) * Parallel DSLs * Auto-update API files * No parZip, bindAccumulating * No parZip, part 2 * Renaming + generic 'accumulate' * Merge with RaiseAccumulate * Apply suggestions * Suggestion by @nomisRev --------- Co-authored-by: serras --- .../api/arrow-core-high-arity.api | 1 - .../api/arrow-core-high-arity.klib.api | 1 - .../arrow/core/raise/RaiseAccumulate.kt | 427 ++++++++---------- arrow-libs/core/arrow-core/api/arrow-core.api | 27 ++ .../core/arrow-core/api/arrow-core.klib.api | 29 ++ .../kotlin/arrow/core/raise/Raise.kt | 1 + .../arrow/core/raise/RaiseAccumulate.kt | 132 ++++-- .../arrow/core/raise/RaiseAccumulateSpec.kt | 64 +++ 8 files changed, 403 insertions(+), 279 deletions(-) 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..d785acc2486 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 @@ -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 index 793a3be4b58..ac01bf51b12 100644 --- 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 @@ -63,4 +63,3 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/ 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] -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] 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..13caf1f3985 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 @@ -4,10 +4,7 @@ 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/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 60ce585caa5..8c6c033f5a7 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -947,6 +947,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; @@ -954,17 +956,40 @@ 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-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 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 } @@ -976,6 +1001,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; diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 406a5a7848e..535177f3e4f 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -458,19 +458,46 @@ open class <#A: kotlin/Any?> arrow.core.raise/RaiseAccumulate : arrow.core.raise 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?> (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] @@ -903,6 +930,7 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.col 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/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] @@ -910,6 +938,7 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise<#A>) 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] 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..87415a2c7cb 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) + } } /** @@ -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 @@ -564,16 +544,10 @@ public inline fun Raise>.forEachAccumulating( 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) } /** @@ -697,6 +671,24 @@ public inline fun Raise>.mapOrAccumulate( } } +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 +} + +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,9 +698,11 @@ 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() } @@ -772,4 +766,46 @@ 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()!!) + + public fun Either.bindOrAccumulate(): Value = + accumulating { this@bindOrAccumulate.bind() } + + public fun Iterable>.bindAllOrAccumulate(): Value> = + accumulating { this@bindAllOrAccumulate.bindAll() } + + public fun EitherNel.bindNelOrAccumulate(): Value = + accumulating { this@bindNelOrAccumulate.bindNel() } + + public fun ensureOrAccumulate(condition: Boolean, raise: () -> Error) { + accumulating { ensure(condition, raise) } + } + + public fun ensureNotNullOrAccumulate(value: B?, raise: () -> Error) { + contract { returns() implies (value != null) } + ensureOrAccumulate(value != null, raise) + } + + 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/raise/RaiseAccumulateSpec.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/raise/RaiseAccumulateSpec.kt index c8f68853a72..e055f2651b2 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 @@ -3,6 +3,7 @@ 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 +17,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() + } } From 6ff44003799589d9e4275d3af8bae21e6190fb13 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 2 Oct 2024 19:33:54 +0200 Subject: [PATCH 53/67] Pattern matching with `KClass` and `KProperty` (#3449) * Pattern matching with KClass and KProperty * Auto-update API files * Suggestions by @nomisRev --------- Co-authored-by: serras --- .../optics/arrow-match/api/arrow-match.api | 42 +++++++++ .../arrow-match/api/arrow-match.klib.api | 51 +++++++++++ .../optics/arrow-match/build.gradle.kts | 50 ++++++++++ .../optics/arrow-match/gradle.properties | 2 + .../commonMain/kotlin/arrow/match/Builders.kt | 88 ++++++++++++++++++ .../commonMain/kotlin/arrow/match/Match.kt | 91 +++++++++++++++++++ .../src/jsMain/kotlin/arrow/match/Matcher.kt | 11 +++ .../kotlin/arrow/match/DoesNotMatch.kt | 6 ++ .../src/jvmMain/kotlin/arrow/match/Matcher.kt | 45 +++++++++ .../src/jvmTest/kotlin/arrow/match/Simple.kt | 43 +++++++++ .../nativeMain/kotlin/arrow/match/Matcher.kt | 15 +++ .../kotlin/arrow/match/DoesNotMatch.kt | 3 + .../wasmJsMain/kotlin/arrow/match/Matcher.kt | 10 ++ .../optics/arrow-optics/api/arrow-optics.api | 2 +- .../arrow-optics/api/arrow-optics.klib.api | 2 +- .../kotlin/arrow/optics/match/Combinators.kt | 4 +- .../kotlin/arrow/optics/match/MatchTest.kt | 4 +- arrow-libs/stack/build.gradle.kts | 1 + settings.gradle.kts | 3 + 19 files changed, 467 insertions(+), 6 deletions(-) create mode 100644 arrow-libs/optics/arrow-match/api/arrow-match.api create mode 100644 arrow-libs/optics/arrow-match/api/arrow-match.klib.api create mode 100644 arrow-libs/optics/arrow-match/build.gradle.kts create mode 100644 arrow-libs/optics/arrow-match/gradle.properties create mode 100644 arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt create mode 100644 arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt create mode 100644 arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt create mode 100644 arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt create mode 100644 arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt create mode 100644 arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt create mode 100644 arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt create mode 100644 arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt create mode 100644 arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt diff --git a/arrow-libs/optics/arrow-match/api/arrow-match.api b/arrow-libs/optics/arrow-match/api/arrow-match.api new file mode 100644 index 00000000000..1cf7bdcc800 --- /dev/null +++ b/arrow-libs/optics/arrow-match/api/arrow-match.api @@ -0,0 +1,42 @@ +public final class arrow/match/BuildersKt { + public static final fun identity ()Lkotlin/reflect/KProperty1; + public static final fun isNotEmpty (Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; + public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; + public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; + public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; + public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; + public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; + public static final fun takeIf (Lkotlin/reflect/KProperty1;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lkotlin/reflect/KProperty1; + public static synthetic fun takeIf$default (Lkotlin/reflect/KProperty1;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/reflect/KProperty1; +} + +public final class arrow/match/DoesNotMatch : java/lang/Throwable { + public fun ()V + public fun fillInStackTrace ()Ljava/lang/Throwable; +} + +public final class arrow/match/MatchKt { + public static final fun matchOrElse (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun matchOrRaise (Larrow/core/raise/Raise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun matchOrRaise (Larrow/core/raise/SingletonRaise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static final fun matchOrThrow (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; + public static synthetic fun matchOrThrow$default (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object; + public static final fun matchUnit (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V +} + +public final class arrow/match/MatchNotFound : java/lang/Throwable { + public fun (Ljava/lang/Object;)V + public final fun getValue ()Ljava/lang/Object; +} + +public abstract class arrow/match/MatchScope { + public fun ()V + public abstract fun default (Lkotlin/jvm/functions/Function0;)V + public final fun getIt ()Lkotlin/reflect/KProperty1; + public abstract fun then (Lkotlin/reflect/KProperty1;Lkotlin/jvm/functions/Function1;)V +} + +public final class arrow/match/MatcherKt { + public static final fun Matcher (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lkotlin/reflect/KProperty1; +} + diff --git a/arrow-libs/optics/arrow-match/api/arrow-match.klib.api b/arrow-libs/optics/arrow-match/api/arrow-match.klib.api new file mode 100644 index 00000000000..415e563818d --- /dev/null +++ b/arrow-libs/optics/arrow-match/api/arrow-match.klib.api @@ -0,0 +1,51 @@ +// 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 class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.match/MatchScope { // arrow.match/MatchScope|null[0] + constructor () // arrow.match/MatchScope.|(){}[0] + + final val it // arrow.match/MatchScope.it|{}it[0] + final fun (): kotlin.reflect/KProperty1<#A, #A> // arrow.match/MatchScope.it.|(){}[0] + + abstract fun <#A1: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #A1>).then(kotlin/Function1<#A1, #B>) // arrow.match/MatchScope.then|then@kotlin.reflect.KProperty1<1:0,0:0>(kotlin.Function1<0:0,1:1>){0§}[0] + abstract fun default(kotlin/Function0<#B>) // arrow.match/MatchScope.default|default(kotlin.Function0<1:1>){}[0] + final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?, #F1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>, kotlin.reflect/KProperty1<#A1, #D1>, kotlin.reflect/KProperty1<#A1, #E1>, kotlin.reflect/KProperty1<#A1, #F1>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple5<#B1, #C1, #D1, #E1, #F1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>;kotlin.reflect.KProperty1<0:0,0:3>;kotlin.reflect.KProperty1<0:0,0:4>;kotlin.reflect.KProperty1<0:0,0:5>){0§<1:0>;1§;2§;3§;4§;5§}[0] + final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>, kotlin.reflect/KProperty1<#A1, #D1>, kotlin.reflect/KProperty1<#A1, #E1>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple4<#B1, #C1, #D1, #E1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>;kotlin.reflect.KProperty1<0:0,0:3>;kotlin.reflect.KProperty1<0:0,0:4>){0§<1:0>;1§;2§;3§;4§}[0] + final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>, kotlin.reflect/KProperty1<#A1, #D1>): kotlin.reflect/KProperty1<#A, kotlin/Triple<#B1, #C1, #D1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>;kotlin.reflect.KProperty1<0:0,0:3>){0§<1:0>;1§;2§;3§}[0] + final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>): kotlin.reflect/KProperty1<#A, kotlin/Pair<#B1, #C1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>){0§<1:0>;1§;2§}[0] + final inline fun <#A1: reified #A!!, #B1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>): kotlin.reflect/KProperty1<#A, #B1> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>){0§<1:0>;1§}[0] +} + +final class arrow.match/DoesNotMatch : kotlin/Throwable { // arrow.match/DoesNotMatch|null[0] + constructor () // arrow.match/DoesNotMatch.|(){}[0] +} + +final class arrow.match/MatchNotFound : kotlin/Throwable { // arrow.match/MatchNotFound|null[0] + constructor (kotlin/Any?) // arrow.match/MatchNotFound.|(kotlin.Any?){}[0] + + final val value // arrow.match/MatchNotFound.value|{}value[0] + final fun (): kotlin/Any? // arrow.match/MatchNotFound.value.|(){}[0] +} + +final val arrow.match/isNotEmpty // arrow.match/isNotEmpty|@kotlin.reflect.KProperty1<0:0,kotlin.collections.Collection<0:1>>{0§;1§}isNotEmpty[0] + final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.reflect/KProperty1<#A1, kotlin.collections/Collection<#B1>>).(): kotlin.reflect/KProperty1<#A1, kotlin.collections/Collection<#B1>> // arrow.match/isNotEmpty.|@kotlin.reflect.KProperty1<0:0,kotlin.collections.Collection<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?, #G: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>, kotlin.reflect/KProperty1<#B, #E>, kotlin.reflect/KProperty1<#B, #F>, kotlin.reflect/KProperty1<#B, #G>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple5<#C, #D, #E, #F, #G>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>;kotlin.reflect.KProperty1<0:1,0:4>;kotlin.reflect.KProperty1<0:1,0:5>;kotlin.reflect.KProperty1<0:1,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?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>, kotlin.reflect/KProperty1<#B, #E>, kotlin.reflect/KProperty1<#B, #F>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple4<#C, #D, #E, #F>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>;kotlin.reflect.KProperty1<0:1,0:4>;kotlin.reflect.KProperty1<0:1,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?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>, kotlin.reflect/KProperty1<#B, #E>): kotlin.reflect/KProperty1<#A, kotlin/Triple<#C, #D, #E>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>;kotlin.reflect.KProperty1<0:1,0:4>){0§;1§;2§;3§;4§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>): kotlin.reflect/KProperty1<#A, kotlin/Pair<#C, #D>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>){0§;1§;2§;3§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/SingletonRaise<#C>).arrow.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrRaise|matchOrRaise@arrow.core.raise.SingletonRaise<0:2>(0:0;kotlin.Function1,kotlin.Unit>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>): kotlin.reflect/KProperty1<#A, #C> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>){0§;1§;2§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.match/matchOrElse(kotlin/Function0<#B>, kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrElse|matchOrElse@0:0(kotlin.Function0<0:1>;kotlin.Function1,kotlin.Unit>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.match/matchOrThrow(kotlin/Function0 = ..., kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrThrow|matchOrThrow@0:0(kotlin.Function0;kotlin.Function1,kotlin.Unit>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise).arrow.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrRaise|matchOrRaise@arrow.core.raise.Raise(0:0;kotlin.Function1,kotlin.Unit>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/takeIf(kotlin/String? = ..., kotlin/Function1<#B, kotlin/Boolean>): kotlin.reflect/KProperty1<#A, #B> // arrow.match/takeIf|takeIf@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.String?;kotlin.Function1<0:1,kotlin.Boolean>){0§;1§}[0] +final fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.match/Matcher(kotlin/String, kotlin/Function1<#A, #B>): kotlin.reflect/KProperty1<#A, #B> // arrow.match/Matcher|Matcher(kotlin.String;kotlin.Function1<0:0,0:1>){0§;1§}[0] +final fun <#A: kotlin/Any?> (#A).arrow.match/matchUnit(kotlin/Function1, kotlin/Unit>) // arrow.match/matchUnit|matchUnit@0:0(kotlin.Function1,kotlin.Unit>){0§}[0] +final fun <#A: kotlin/Any?> arrow.match/identity(): kotlin.reflect/KProperty1<#A, #A> // arrow.match/identity|identity(){0§}[0] +final inline fun <#A: kotlin/Any?, #B: reified #A> arrow.match/instanceOf(): kotlin.reflect/KProperty1<#A, #B> // arrow.match/instanceOf|instanceOf(){0§;1§<0:0>}[0] diff --git a/arrow-libs/optics/arrow-match/build.gradle.kts b/arrow-libs/optics/arrow-match/build.gradle.kts new file mode 100644 index 00000000000..0dd83eae518 --- /dev/null +++ b/arrow-libs/optics/arrow-match/build.gradle.kts @@ -0,0 +1,50 @@ +@file:Suppress("DSL_SCOPE_VIOLATION") + +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + + +plugins { + id(libs.plugins.kotlin.multiplatform.get().pluginId) + alias(libs.plugins.arrowGradleConfig.kotlin) + alias(libs.plugins.publish) + alias(libs.plugins.spotless) +} + +spotless { + kotlin { + ktlint().editorConfigOverride(mapOf("ktlint_standard_filename" to "disabled")) + } +} + +apply(from = property("ANIMALSNIFFER_MPP")) + +kotlin { + sourceSets { + commonMain { + dependencies { + implementation(libs.kotlin.stdlib) + implementation(projects.arrowCore) + } + } + commonTest { + dependencies { + implementation(libs.kotlin.test) + implementation(libs.kotest.assertionsCore) + implementation(libs.coroutines.test) + } + } + } + + jvm { + tasks.jvmJar { + manifest { + attributes["Automatic-Module-Name"] = "arrow.match" + } + } + } +} + +// enables context receivers for Jvm Tests +tasks.named("compileTestKotlinJvm") { + compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") +} diff --git a/arrow-libs/optics/arrow-match/gradle.properties b/arrow-libs/optics/arrow-match/gradle.properties new file mode 100644 index 00000000000..211d8ab440d --- /dev/null +++ b/arrow-libs/optics/arrow-match/gradle.properties @@ -0,0 +1,2 @@ +# Maven publishing configuration +POM_NAME=Arrow Match diff --git a/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt b/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt new file mode 100644 index 00000000000..65cdb1bdbf8 --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt @@ -0,0 +1,88 @@ +package arrow.match + +import arrow.core.Tuple4 +import arrow.core.Tuple5 +import kotlin.reflect.KProperty1 + +/** + * A matcher is a [KProperty1] which may throw [DoesNotMatch] + * to signal that it does not match the value. + */ +public typealias Matcher = KProperty1 + +public expect fun Matcher( + name: String, + get: (S) -> A +): Matcher + +public expect class DoesNotMatch(): Throwable + +public fun identity(): Matcher = Matcher("identity") { it } + +public inline fun instanceOf(): Matcher = + Matcher("instanceOf<${A::class.simpleName}>") { + if (it is A) it else throw DoesNotMatch() + } + +public fun Matcher.takeIf( + description: String? = null, + predicate: (A) -> Boolean +): Matcher = Matcher("${this.name}.${description ?: "suchThat"}") { + val value = this.get(it) + if (predicate(value)) value else throw DoesNotMatch() +} + +public val Matcher>.isNotEmpty: Matcher> + get() = this.takeIf("isNotEmpty") { it.isNotEmpty() } + +public fun Matcher.of( + field: Matcher +): Matcher = Matcher("${this.name}.of(${field.name})") { + field.get(this.get(it)) +} + +public fun Matcher.of( + field1: Matcher, + field2: Matcher +): Matcher> = Matcher( + "${this.name}.of(${field1.name}, ${field2.name})" +) { + val a = this.get(it) + Pair(field1.get(a), field2.get(a)) +} + +public fun Matcher.of( + field1: Matcher, + field2: Matcher, + field3: Matcher +): Matcher> = Matcher( + "${this.name}.of(${field1.name}, ${field2.name}, ${field3.name})" +) { + val a = this.get(it) + Triple(field1.get(a), field2.get(a), field3.get(a)) +} + +public fun Matcher.of( + field1: Matcher, + field2: Matcher, + field3: Matcher, + field4: Matcher +): Matcher> = Matcher( + "${this.name}.of(${field1.name}, ${field2.name}, ${field3.name}, ${field4.name})" +) { + val a = this.get(it) + Tuple4(field1.get(a), field2.get(a), field3.get(a), field4.get(a)) +} + +public fun Matcher.of( + field1: Matcher, + field2: Matcher, + field3: Matcher, + field4: Matcher, + field5: Matcher +): Matcher> = Matcher( + "${this.name}.of(${field1.name}, ${field2.name}, ${field3.name}, ${field4.name}, ${field5.name})" +) { + val a = this.get(it) + Tuple5(field1.get(a), field2.get(a), field3.get(a), field4.get(a), field5.get(a)) +} diff --git a/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt b/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt new file mode 100644 index 00000000000..48206bc44ce --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt @@ -0,0 +1,91 @@ +package arrow.match + +import arrow.core.Tuple4 +import arrow.core.Tuple5 +import kotlin.reflect.KClass +import arrow.core.raise.Raise +import arrow.core.raise.SingletonRaise + +public abstract class MatchScope { + public abstract infix fun Matcher.then(next: (A) -> R) + public abstract fun default(next: () -> R) + + public val it: Matcher = Matcher("it") { it } + + public inline fun KClass.of( + field: Matcher + ): Matcher = instanceOf().of(field) + + public inline fun KClass.of( + field1: Matcher, + field2: Matcher + ): Matcher> = instanceOf().of(field1, field2) + + public inline fun KClass.of( + field1: Matcher, + field2: Matcher, + field3: Matcher + ): Matcher> = instanceOf().of(field1, field2, field3) + + public inline fun KClass.of( + field1: Matcher, + field2: Matcher, + field3: Matcher, + field4: Matcher + ): Matcher> = instanceOf().of(field1, field2, field3, field4) + + public inline fun KClass.of( + field1: Matcher, + field2: Matcher, + field3: Matcher, + field4: Matcher, + field5: Matcher + ): Matcher> = instanceOf().of(field1, field2, field3, field4, field5) +} + +private class MatchScopeImpl(val subject: S): MatchScope() { + override fun Matcher.then(next: (A) -> R) { + try { + this.get(subject)?.let { throw MatchFound(next(it)) } + } catch (e: DoesNotMatch) { + /* do nothing */ + } + } + override fun default(next: () -> R) { + throw MatchFound(next()) + } +} + +private class MatchFound(val result: Any?) : Throwable() + +@Suppress("UNCHECKED_CAST") +public fun S.matchOrElse( + noMatch: () -> R, + cases: MatchScope.() -> Unit, +): R = try { + cases(MatchScopeImpl(this)) + noMatch() +} catch (e: MatchFound) { + e.result as R +} + +public class MatchNotFound(public val value: Any?) : Throwable() + +public fun S.matchOrThrow( + exception: () -> Throwable = { MatchNotFound(this) }, + cases: MatchScope.() -> Unit, +): R = matchOrElse({ throw exception() }, cases) + +public fun Raise.matchOrRaise( + value: S, + cases: MatchScope.() -> Unit, +): R = value.matchOrElse({ raise(MatchNotFound(value)) }, cases) + +public fun SingletonRaise.matchOrRaise( + value: S, + cases: MatchScope.() -> Unit, +): R = value.matchOrElse({ raise() }, cases) + +public fun S.matchUnit( + cases: MatchScope.() -> Unit, +): Unit = matchOrElse({ }, cases) diff --git a/arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt new file mode 100644 index 00000000000..a54a1c3c221 --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt @@ -0,0 +1,11 @@ +package arrow.match + +@Suppress("IMPLEMENTING_FUNCTION_INTERFACE") +public actual fun Matcher( + name: String, + get: (S) -> A +): Matcher = object : Matcher { + override val name: String = name + override fun get(receiver: S): A = get(receiver) + override fun invoke(receiver: S): A = get(receiver) +} diff --git a/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt b/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt new file mode 100644 index 00000000000..594a206e437 --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt @@ -0,0 +1,6 @@ +package arrow.match + +public actual class DoesNotMatch: Throwable() { + // disable stacktrace creation + override fun fillInStackTrace(): Throwable = this +} diff --git a/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt new file mode 100644 index 00000000000..9218563ddda --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt @@ -0,0 +1,45 @@ +package arrow.match + +import kotlin.reflect.KParameter +import kotlin.reflect.KProperty +import kotlin.reflect.KProperty1 +import kotlin.reflect.KType +import kotlin.reflect.KTypeParameter +import kotlin.reflect.KVisibility + +public actual fun Matcher( + name: String, + get: (S) -> A +): Matcher = object : Matcher, KProperty1.Getter { + override val name: String = name + override fun get(receiver: S): A = get(receiver) + override fun invoke(receiver: S): A = get(receiver) + + override val getter: KProperty1.Getter = this + override val property: KProperty = this + + override val annotations: List = emptyList() + override val isAbstract: Boolean = false + override val isConst: Boolean = false + override val isFinal: Boolean = false + override val isLateinit: Boolean = false + override val isOpen: Boolean = false + override val isSuspend: Boolean = false + override val isExternal: Boolean = false + override val isInfix: Boolean = false + override val isInline: Boolean = false + override val isOperator: Boolean = false + + override val parameters: List + get() = throw IllegalStateException("no parameters information") + override val returnType: KType + get() = throw IllegalStateException("no returnType information") + override val typeParameters: List = emptyList() + override val visibility: KVisibility? = null + + override fun call(vararg args: Any?): A = + get(args.single() as S) + override fun callBy(args: Map): A = + get(args.entries.single().value as S) + override fun getDelegate(receiver: S): Any? = null +} diff --git a/arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt b/arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt new file mode 100644 index 00000000000..bbbbb23e9ec --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt @@ -0,0 +1,43 @@ +package arrow.match + +import io.kotest.matchers.shouldBe +import kotlin.test.Test + +data class Name( + val firstName: String, val lastName: String +) + +sealed interface User +data class Person( + val name: Name, val age: Int +) : User + +data class Company( + val name: String, val director: Name, val address: String +): User + +val User.shownName: String get() = this.matchOrThrow { + Person::class.of(Person::name.of(Name::firstName), Person::age.takeIf { it < 18 }) then { (fn, _) -> fn } + Person::class.of(Person::name.of(Name::firstName, Name::lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } + Company::class.of(Company::name, Company::director.of(Name::lastName)) then { (nm, d) -> "$nm, att. $d" } +} + +val Person.shownNameForPerson: String get() = this.matchOrThrow { + it.of(Person::name.of(Name::firstName), Person::age.takeIf { it < 18 }) then { (fn, _) -> fn } + it.of(Person::name.of(Name::firstName, Name::lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } +} + +class MatchTest { + @Test + fun userKid() { + val p = Person(Name("Jimmy", "Jones"), 7) + p.shownName shouldBe "Jimmy" + p.shownNameForPerson shouldBe "Jimmy" + } + + @Test fun userAdult() { + val p = Person(Name("Jimmy", "Jones"), 20) + p.shownName shouldBe "Sir/Madam Jimmy Jones" + p.shownNameForPerson shouldBe "Sir/Madam Jimmy Jones" + } +} diff --git a/arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt new file mode 100644 index 00000000000..e6648f4f732 --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt @@ -0,0 +1,15 @@ +package arrow.match + +import kotlin.reflect.KType + +public actual fun Matcher( + name: String, + get: (S) -> A +): Matcher = object : Matcher { + override val name: String = name + override fun get(receiver: S): A = get(receiver) + override fun invoke(receiver: S): A = get(receiver) + + override val returnType: KType + get() = TODO("Not yet implemented") +} diff --git a/arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt b/arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt new file mode 100644 index 00000000000..bf031c60c18 --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt @@ -0,0 +1,3 @@ +package arrow.match + +public actual class DoesNotMatch: Throwable() diff --git a/arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt new file mode 100644 index 00000000000..ad61c34100d --- /dev/null +++ b/arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt @@ -0,0 +1,10 @@ +package arrow.match + +public actual fun Matcher( + name: String, + get: (S) -> A +): Matcher = object : Matcher { + override val name: String = name + override fun get(receiver: S): A = get(receiver) + override fun invoke(receiver: S): A = get(receiver) +} diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index c315e566953..0ed491abfbf 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -548,7 +548,7 @@ public final class arrow/optics/match/CombinatorsKt { public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; public static final fun predicate (Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; - public static final fun suchThat (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; + public static final fun takeIf (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; } public final class arrow/optics/match/MatchKt { diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index cd1fe8d942a..11c7ac25216 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -370,7 +370,7 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PLens<#A, #A, kotlin. 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, #B, #B>).arrow.optics.match/ifEquals(#B): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/ifEquals|ifEquals@arrow.optics.POptional<0:0,0:0,0:1,0:1>(0:1){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/suchThat(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/suchThat|suchThat@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, #B, #B>).arrow.optics.match/takeIf(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/takeIf|takeIf@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] diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt index 01f969bd318..aeb1701d7ca 100644 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt +++ b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt @@ -8,7 +8,7 @@ import arrow.core.raise.ensure import arrow.optics.Optional import arrow.optics.Prism -public fun Optional.suchThat( +public fun Optional.takeIf( predicate: (A) -> Boolean, ): Optional = this.compose(predicate(predicate)) @@ -24,7 +24,7 @@ public fun predicate( set = { x, _ -> x } ) -public fun Optional.ifEquals(value: A): Optional = this.suchThat { it == value } +public fun Optional.ifEquals(value: A): Optional = this.takeIf { it == value } public fun equalsTo(value: A): Optional = predicate { it == value } diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt index 0f7dfc1cb76..cfcde0575f8 100644 --- a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt +++ b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt @@ -62,13 +62,13 @@ data class Company( } val User.shownName: String get() = this.matchOrThrow { - User.person(Person.name(Name.firstName), Person.age.suchThat { it < 18 }) then { (fn, _) -> fn } + User.person(Person.name(Name.firstName), Person.age.takeIf { it < 18 }) then { (fn, _) -> fn } User.person(Person.name(Name.firstName, Name.lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } User.company(Company.name, Company.director(Name.lastName)) then { (nm, d) -> "$nm, att. $d" } } val Person.shownNameForPerson: String get() = this.matchOrThrow { - it(Person.name(Name.firstName), Person.age.suchThat { it < 18 }) then { (fn, _) -> fn } + it(Person.name(Name.firstName), Person.age.takeIf { it < 18 }) then { (fn, _) -> fn } it(Person.name(Name.firstName, Name.lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } } diff --git a/arrow-libs/stack/build.gradle.kts b/arrow-libs/stack/build.gradle.kts index fe20d481610..fdd58621d92 100644 --- a/arrow-libs/stack/build.gradle.kts +++ b/arrow-libs/stack/build.gradle.kts @@ -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/settings.gradle.kts b/settings.gradle.kts index 8500aca8674..cdeb2dcd5ab 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -108,6 +108,9 @@ project(":arrow-optics-compose").projectDir = file("arrow-libs/optics/arrow-opti include("arrow-optics-ksp-plugin") project(":arrow-optics-ksp-plugin").projectDir = file("arrow-libs/optics/arrow-optics-ksp-plugin") +include("arrow-match") +project(":arrow-match").projectDir = file("arrow-libs/optics/arrow-match") + // STACK include("arrow-stack") project(":arrow-stack").projectDir = file("arrow-libs/stack") From e855ff9db4d5f52ea8263105e6ab5f8c3ea5b755 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 23:36:02 +0200 Subject: [PATCH 54/67] chore(deps): update all dependencies (#3494) | datasource | package | from | to | | ---------- | ----------------------------------------------------- | ------- | ------- | | maven | com.android.library:com.android.library.gradle.plugin | 8.6.1 | 8.7.0 | | maven | androidx.compose.runtime:runtime | 1.7.2 | 1.7.3 | | maven | io.github.classgraph:classgraph | 4.8.176 | 4.8.177 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d0204b4e634..28a8bf6ec83 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,7 +2,7 @@ animalSniffer = "1.7.1" arrowGradleConfig = "0.12.0-rc.24" coroutines = "1.9.0" -classgraph = "4.8.176" +classgraph = "4.8.177" dokka = "1.9.20" kotest = "5.9.1" kover = "0.8.3" @@ -16,9 +16,9 @@ mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" -compose = "1.7.2" +compose = "1.7.3" composePlugin = "1.6.11" -agp = "8.6.1" +agp = "8.7.0" android-compileSdk = "34" cache4k = "0.13.0" publish="0.29.0" From d6073dd5e785ba424f4e6eb22937792b0f93a404 Mon Sep 17 00:00:00 2001 From: Thomas Ploch Date: Thu, 3 Oct 2024 07:43:28 +0200 Subject: [PATCH 55/67] Provide `mapOrAccumulate` for `NonEmptySet` (#3489) --- arrow-libs/core/arrow-core/api/arrow-core.api | 2 + .../core/arrow-core/api/arrow-core.klib.api | 2 + .../kotlin/arrow/core/NonEmptySet.kt | 15 +++++++ .../kotlin/arrow/core/NonEmptySetTest.kt | 40 ++++++++++++++++++- 4 files changed, 58 insertions(+), 1 deletion(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 8c6c033f5a7..3f9c19753a3 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -559,6 +559,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; diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 535177f3e4f..83b0bc27bae 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -918,6 +918,8 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core 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] 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 9cc90532b7f..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 @@ -50,6 +54,17 @@ public value class NonEmptySet private constructor( 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.asIterable()) 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() + } + } +} From 99de6148320a4299a5aef20686a6063ca732026b Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 3 Oct 2024 07:44:47 +0200 Subject: [PATCH 56/67] De-duplicate `arrow-core-high-arity` files (#3495) --- .../api/arrow-core-high-arity.api | 10 +++++----- .../src/commonMain/kotlin/arrow/core/Iterable.kt | 4 ++++ .../src/commonMain/kotlin/arrow/core/NonEmptyList.kt | 4 ++++ .../src/commonMain/kotlin/arrow/core/Sequence.kt | 4 ++++ .../src/commonMain/kotlin/arrow/core/map.kt | 4 ++++ .../kotlin/arrow/core/raise/RaiseAccumulate.kt | 2 +- 6 files changed, 22 insertions(+), 6 deletions(-) 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 d785acc2486..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; 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 13caf1f3985..8cc95a26cec 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,6 +1,6 @@ @file:OptIn(ExperimentalTypeInference::class, ExperimentalContracts::class) @file:JvmMultifileClass -@file:JvmName("RaiseKt") +@file:JvmName("RaiseHighArityKt") package arrow.core.raise From c713cd381c4181ac95ad2d58db5c7913ac317030 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 10 Oct 2024 11:43:57 +0200 Subject: [PATCH 57/67] Flag new 2.0 APIs as experimental (#3497) --- .../kotlin/arrow/core/raise/RaiseAccumulate.kt | 2 +- arrow-libs/core/arrow-core/api/arrow-core.api | 3 +++ .../core/arrow-core/api/arrow-core.klib.api | 4 ++++ .../kotlin/arrow/core/raise/RaiseAccumulate.kt | 17 +++++++++++++++-- .../arrow/core/raise/RaiseAccumulateSpec.kt | 1 + .../api/arrow-fx-coroutines.api | 3 +++ .../api/arrow-fx-coroutines.klib.api | 4 ++++ .../arrow/fx/coroutines/await/AwaitAllScope.kt | 9 +++++++++ 8 files changed, 40 insertions(+), 3 deletions(-) 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 8cc95a26cec..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,4 +1,4 @@ -@file:OptIn(ExperimentalTypeInference::class, ExperimentalContracts::class) +@file:OptIn(ExperimentalTypeInference::class, ExperimentalContracts::class, ExperimentalRaiseAccumulateApi::class) @file:JvmMultifileClass @file:JvmName("RaiseHighArityKt") diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index 3f9c19753a3..e8c75137883 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -892,6 +892,9 @@ 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 { } diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 83b0bc27bae..4fdc4eff68f 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -10,6 +10,10 @@ open annotation class arrow.core.raise/DelicateRaiseApi : kotlin/Annotation { // 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] } 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 87415a2c7cb..b798f7e36f3 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 @@ -460,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, @@ -540,7 +540,7 @@ 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 @@ -671,6 +671,12 @@ 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 { @@ -681,6 +687,7 @@ public inline fun Raise>.accumulate( return result } +@ExperimentalRaiseAccumulateApi public inline fun accumulate( raise: (Raise>.() -> A) -> R, crossinline block: RaiseAccumulate.() -> A @@ -771,24 +778,30 @@ public open class RaiseAccumulate( @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))) 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 e055f2651b2..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,3 +1,4 @@ +@file:OptIn(ExperimentalRaiseAccumulateApi::class) package arrow.core.raise import arrow.core.NonEmptyList 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 905e32fc239..6ab89cbc8eb 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 @@ -279,3 +279,6 @@ public final class arrow/fx/coroutines/await/AwaitAllScopeKt { 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 index 63e5fc3e47f..e77804743fe 100644 --- 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 @@ -6,6 +6,10 @@ // - 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] } 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 index 3c20c5500af..c48654427a7 100644 --- 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 @@ -6,15 +6,23 @@ 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)) @@ -61,6 +69,7 @@ public class AwaitAllScope( return Await(deferred) } + @OptIn(InternalForInheritanceCoroutinesApi::class) private inner class Await( private val deferred: Deferred ): Deferred by deferred { From 8288fd4bfae4fbb513cdbaadcc911fb4ca628460 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Thu, 10 Oct 2024 16:31:04 +0200 Subject: [PATCH 58/67] Regex-inspired optics (#3498) --- .../optics/arrow-optics/api/arrow-optics.api | 18 ++++++ .../arrow-optics/api/arrow-optics.klib.api | 7 +++ .../kotlin/arrow/optics/Traversal.kt | 9 +++ .../kotlin/arrow/optics/regex/Regex.kt | 53 ++++++++++++++++ .../kotlin/arrow/optics/regex/dsl/Regex.kt | 11 ++++ .../kotlin/arrow/optics/regex/RegexTest.kt | 62 +++++++++++++++++++ 6 files changed, 160 insertions(+) create mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/Regex.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/regex/dsl/Regex.kt create mode 100644 arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/regex/RegexTest.kt diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index 0ed491abfbf..60d4a59df4a 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -113,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; @@ -201,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; @@ -263,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; @@ -331,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; @@ -363,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; @@ -445,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; @@ -570,6 +576,18 @@ public abstract interface class arrow/optics/match/MatchScope { public abstract fun then (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)V } +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 index 11c7ac25216..662782165da 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -211,6 +211,7 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli 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] @@ -359,6 +360,8 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/POpt 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] @@ -376,6 +379,8 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, kot 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] @@ -398,5 +403,7 @@ final fun <#A: kotlin/Any?> (kotlin.collections/List<#A>).arrow.optics/uncons(): 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.match/equalsTo(#A): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.match/equalsTo|equalsTo(0:0){0§}[0] final fun <#A: kotlin/Any?> arrow.optics.match/predicate(kotlin/Function1<#A, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.match/predicate|predicate(kotlin.Function1<0:0,kotlin.Boolean>){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] final inline fun <#A: kotlin/Any, #B: reified #A> arrow.optics.match/instanceOf(): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/instanceOf|instanceOf(){0§;1§<0:0>}[0] final inline fun <#A: kotlin/Any?, #B: kotlin/Any, #C: reified #B> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/ifInstanceOf(): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.match/ifInstanceOf|ifInstanceOf@arrow.optics.POptional<0:0,0:0,0:1,0:1>(){0§;1§;2§<0:1>}[0] 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/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/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) + } +} From cb363449e925ebae1dd3eca5c3292d492a639791 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 10 Oct 2024 20:48:22 +0200 Subject: [PATCH 59/67] chore(deps): update all dependencies (#3502) * chore(deps): update all dependencies | datasource | package | from | to | | ---------- | ------------------------------------------------------------------------------------- | ------ | --------------------------- | | maven | org.jetbrains.compose:org.jetbrains.compose.gradle.plugin | 1.6.11 | 1.7.0-rc01 | | maven | org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin | 2.0.20 | 2.0.21 | | maven | org.jetbrains.kotlin.multiplatform:org.jetbrains.kotlin.multiplatform.gradle.plugin | 2.0.20 | 2.0.21 | | maven | org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin | 2.0.20 | 2.0.21 | * Update libs.versions.toml --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Alejandro Serrano --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 28a8bf6ec83..c725fc40981 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ classgraph = "4.8.177" dokka = "1.9.20" kotest = "5.9.1" kover = "0.8.3" -kotlin = "2.0.20" +kotlin = "2.0.21" kotlinBinaryCompatibilityValidator = "0.16.3" kotlinCompileTesting = "0.5.1" knit = "0.5.0" @@ -17,7 +17,7 @@ retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.7.3" -composePlugin = "1.6.11" +composePlugin = "1.7.0-rc01" agp = "8.7.0" android-compileSdk = "34" cache4k = "0.13.0" From 3d0a24bd7436a2ff7f190b306b4dd9a90f8da245 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 10:48:23 +0200 Subject: [PATCH 60/67] chore(deps): update all dependencies (#3503) | datasource | package | from | to | | ---------- | ----------------------------------------------------------------------- | ------------- | ------------- | | maven | com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin | 0.29.0 | 0.30.0 | | maven | com.android.library:com.android.library.gradle.plugin | 8.7.0 | 8.7.1 | | maven | com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin | 2.0.20-1.0.25 | 2.0.21-1.0.25 | | maven | com.google.devtools.ksp:symbol-processing-api | 2.0.20-1.0.25 | 2.0.21-1.0.25 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c725fc40981..64ba91f7bcf 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ kotlin = "2.0.21" kotlinBinaryCompatibilityValidator = "0.16.3" kotlinCompileTesting = "0.5.1" knit = "0.5.0" -kspVersion = "2.0.20-1.0.25" +kspVersion = "2.0.21-1.0.25" kotlinxSerialization = "1.7.3" mockWebServer = "4.12.0" retrofit = "2.11.0" @@ -18,10 +18,10 @@ moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.7.3" composePlugin = "1.7.0-rc01" -agp = "8.7.0" +agp = "8.7.1" android-compileSdk = "34" cache4k = "0.13.0" -publish="0.29.0" +publish="0.30.0" [libraries] coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } From 2bf89e552ce96f1c12cc53c3a180bfc923bafdbb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:35:19 +0200 Subject: [PATCH 61/67] chore(deps): update dependency org.jetbrains.compose to v1.7.0 (#3508) | datasource | package | from | to | | ---------- | --------------------------------------------------------- | ---------- | ----- | | maven | org.jetbrains.compose:org.jetbrains.compose.gradle.plugin | 1.7.0-rc01 | 1.7.0 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 64ba91f7bcf..b6759d730d5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,7 +17,7 @@ retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" compose = "1.7.3" -composePlugin = "1.7.0-rc01" +composePlugin = "1.7.0" agp = "8.7.1" android-compileSdk = "34" cache4k = "0.13.0" From 29dd31c1519ffb63b70269a4a7a8916fe68e7b09 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 16 Oct 2024 19:12:46 +0200 Subject: [PATCH 62/67] Remove matching-related features (#3510) --- .../optics/arrow-match/api/arrow-match.api | 42 ------- .../arrow-match/api/arrow-match.klib.api | 51 --------- .../optics/arrow-match/build.gradle.kts | 50 --------- .../optics/arrow-match/gradle.properties | 2 - .../commonMain/kotlin/arrow/match/Builders.kt | 88 --------------- .../commonMain/kotlin/arrow/match/Match.kt | 91 --------------- .../src/jsMain/kotlin/arrow/match/Matcher.kt | 11 -- .../kotlin/arrow/match/DoesNotMatch.kt | 6 - .../src/jvmMain/kotlin/arrow/match/Matcher.kt | 45 -------- .../src/jvmTest/kotlin/arrow/match/Simple.kt | 43 -------- .../nativeMain/kotlin/arrow/match/Matcher.kt | 15 --- .../kotlin/arrow/match/DoesNotMatch.kt | 3 - .../wasmJsMain/kotlin/arrow/match/Matcher.kt | 10 -- .../optics/arrow-optics/api/arrow-optics.api | 36 ------ .../arrow-optics/api/arrow-optics.klib.api | 33 ------ .../kotlin/arrow/optics/match/Combinators.kt | 104 ------------------ .../kotlin/arrow/optics/match/Match.kt | 53 --------- .../kotlin/arrow/optics/match/MatchTest.kt | 87 --------------- settings.gradle.kts | 3 - 19 files changed, 773 deletions(-) delete mode 100644 arrow-libs/optics/arrow-match/api/arrow-match.api delete mode 100644 arrow-libs/optics/arrow-match/api/arrow-match.klib.api delete mode 100644 arrow-libs/optics/arrow-match/build.gradle.kts delete mode 100644 arrow-libs/optics/arrow-match/gradle.properties delete mode 100644 arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt delete mode 100644 arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt delete mode 100644 arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt delete mode 100644 arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt delete mode 100644 arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt delete mode 100644 arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt delete mode 100644 arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt delete mode 100644 arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt delete mode 100644 arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt delete mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt delete mode 100644 arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt delete mode 100644 arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt diff --git a/arrow-libs/optics/arrow-match/api/arrow-match.api b/arrow-libs/optics/arrow-match/api/arrow-match.api deleted file mode 100644 index 1cf7bdcc800..00000000000 --- a/arrow-libs/optics/arrow-match/api/arrow-match.api +++ /dev/null @@ -1,42 +0,0 @@ -public final class arrow/match/BuildersKt { - public static final fun identity ()Lkotlin/reflect/KProperty1; - public static final fun isNotEmpty (Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; - public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; - public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; - public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; - public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; - public static final fun of (Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;Lkotlin/reflect/KProperty1;)Lkotlin/reflect/KProperty1; - public static final fun takeIf (Lkotlin/reflect/KProperty1;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lkotlin/reflect/KProperty1; - public static synthetic fun takeIf$default (Lkotlin/reflect/KProperty1;Ljava/lang/String;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lkotlin/reflect/KProperty1; -} - -public final class arrow/match/DoesNotMatch : java/lang/Throwable { - public fun ()V - public fun fillInStackTrace ()Ljava/lang/Throwable; -} - -public final class arrow/match/MatchKt { - public static final fun matchOrElse (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static final fun matchOrRaise (Larrow/core/raise/Raise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static final fun matchOrRaise (Larrow/core/raise/SingletonRaise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static final fun matchOrThrow (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static synthetic fun matchOrThrow$default (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun matchUnit (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V -} - -public final class arrow/match/MatchNotFound : java/lang/Throwable { - public fun (Ljava/lang/Object;)V - public final fun getValue ()Ljava/lang/Object; -} - -public abstract class arrow/match/MatchScope { - public fun ()V - public abstract fun default (Lkotlin/jvm/functions/Function0;)V - public final fun getIt ()Lkotlin/reflect/KProperty1; - public abstract fun then (Lkotlin/reflect/KProperty1;Lkotlin/jvm/functions/Function1;)V -} - -public final class arrow/match/MatcherKt { - public static final fun Matcher (Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Lkotlin/reflect/KProperty1; -} - diff --git a/arrow-libs/optics/arrow-match/api/arrow-match.klib.api b/arrow-libs/optics/arrow-match/api/arrow-match.klib.api deleted file mode 100644 index 415e563818d..00000000000 --- a/arrow-libs/optics/arrow-match/api/arrow-match.klib.api +++ /dev/null @@ -1,51 +0,0 @@ -// 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 class <#A: kotlin/Any?, #B: kotlin/Any?> arrow.match/MatchScope { // arrow.match/MatchScope|null[0] - constructor () // arrow.match/MatchScope.|(){}[0] - - final val it // arrow.match/MatchScope.it|{}it[0] - final fun (): kotlin.reflect/KProperty1<#A, #A> // arrow.match/MatchScope.it.|(){}[0] - - abstract fun <#A1: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #A1>).then(kotlin/Function1<#A1, #B>) // arrow.match/MatchScope.then|then@kotlin.reflect.KProperty1<1:0,0:0>(kotlin.Function1<0:0,1:1>){0§}[0] - abstract fun default(kotlin/Function0<#B>) // arrow.match/MatchScope.default|default(kotlin.Function0<1:1>){}[0] - final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?, #F1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>, kotlin.reflect/KProperty1<#A1, #D1>, kotlin.reflect/KProperty1<#A1, #E1>, kotlin.reflect/KProperty1<#A1, #F1>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple5<#B1, #C1, #D1, #E1, #F1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>;kotlin.reflect.KProperty1<0:0,0:3>;kotlin.reflect.KProperty1<0:0,0:4>;kotlin.reflect.KProperty1<0:0,0:5>){0§<1:0>;1§;2§;3§;4§;5§}[0] - final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?, #E1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>, kotlin.reflect/KProperty1<#A1, #D1>, kotlin.reflect/KProperty1<#A1, #E1>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple4<#B1, #C1, #D1, #E1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>;kotlin.reflect.KProperty1<0:0,0:3>;kotlin.reflect.KProperty1<0:0,0:4>){0§<1:0>;1§;2§;3§;4§}[0] - final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?, #D1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>, kotlin.reflect/KProperty1<#A1, #D1>): kotlin.reflect/KProperty1<#A, kotlin/Triple<#B1, #C1, #D1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>;kotlin.reflect.KProperty1<0:0,0:3>){0§<1:0>;1§;2§;3§}[0] - final inline fun <#A1: reified #A!!, #B1: kotlin/Any?, #C1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>, kotlin.reflect/KProperty1<#A1, #C1>): kotlin.reflect/KProperty1<#A, kotlin/Pair<#B1, #C1>> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>;kotlin.reflect.KProperty1<0:0,0:2>){0§<1:0>;1§;2§}[0] - final inline fun <#A1: reified #A!!, #B1: kotlin/Any?> (kotlin.reflect/KClass<#A1>).of(kotlin.reflect/KProperty1<#A1, #B1>): kotlin.reflect/KProperty1<#A, #B1> // arrow.match/MatchScope.of|of@kotlin.reflect.KClass<0:0>(kotlin.reflect.KProperty1<0:0,0:1>){0§<1:0>;1§}[0] -} - -final class arrow.match/DoesNotMatch : kotlin/Throwable { // arrow.match/DoesNotMatch|null[0] - constructor () // arrow.match/DoesNotMatch.|(){}[0] -} - -final class arrow.match/MatchNotFound : kotlin/Throwable { // arrow.match/MatchNotFound|null[0] - constructor (kotlin/Any?) // arrow.match/MatchNotFound.|(kotlin.Any?){}[0] - - final val value // arrow.match/MatchNotFound.value|{}value[0] - final fun (): kotlin/Any? // arrow.match/MatchNotFound.value.|(){}[0] -} - -final val arrow.match/isNotEmpty // arrow.match/isNotEmpty|@kotlin.reflect.KProperty1<0:0,kotlin.collections.Collection<0:1>>{0§;1§}isNotEmpty[0] - final fun <#A1: kotlin/Any?, #B1: kotlin/Any?> (kotlin.reflect/KProperty1<#A1, kotlin.collections/Collection<#B1>>).(): kotlin.reflect/KProperty1<#A1, kotlin.collections/Collection<#B1>> // arrow.match/isNotEmpty.|@kotlin.reflect.KProperty1<0:0,kotlin.collections.Collection<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?, #G: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>, kotlin.reflect/KProperty1<#B, #E>, kotlin.reflect/KProperty1<#B, #F>, kotlin.reflect/KProperty1<#B, #G>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple5<#C, #D, #E, #F, #G>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>;kotlin.reflect.KProperty1<0:1,0:4>;kotlin.reflect.KProperty1<0:1,0:5>;kotlin.reflect.KProperty1<0:1,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?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>, kotlin.reflect/KProperty1<#B, #E>, kotlin.reflect/KProperty1<#B, #F>): kotlin.reflect/KProperty1<#A, arrow.core/Tuple4<#C, #D, #E, #F>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>;kotlin.reflect.KProperty1<0:1,0:4>;kotlin.reflect.KProperty1<0:1,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?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>, kotlin.reflect/KProperty1<#B, #E>): kotlin.reflect/KProperty1<#A, kotlin/Triple<#C, #D, #E>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>;kotlin.reflect.KProperty1<0:1,0:4>){0§;1§;2§;3§;4§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>, kotlin.reflect/KProperty1<#B, #D>): kotlin.reflect/KProperty1<#A, kotlin/Pair<#C, #D>> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>;kotlin.reflect.KProperty1<0:1,0:3>){0§;1§;2§;3§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/SingletonRaise<#C>).arrow.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrRaise|matchOrRaise@arrow.core.raise.SingletonRaise<0:2>(0:0;kotlin.Function1,kotlin.Unit>){0§;1§;2§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/of(kotlin.reflect/KProperty1<#B, #C>): kotlin.reflect/KProperty1<#A, #C> // arrow.match/of|of@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.reflect.KProperty1<0:1,0:2>){0§;1§;2§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.match/matchOrElse(kotlin/Function0<#B>, kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrElse|matchOrElse@0:0(kotlin.Function0<0:1>;kotlin.Function1,kotlin.Unit>){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.match/matchOrThrow(kotlin/Function0 = ..., kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrThrow|matchOrThrow@0:0(kotlin.Function0;kotlin.Function1,kotlin.Unit>){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise).arrow.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.match/matchOrRaise|matchOrRaise@arrow.core.raise.Raise(0:0;kotlin.Function1,kotlin.Unit>){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (kotlin.reflect/KProperty1<#A, #B>).arrow.match/takeIf(kotlin/String? = ..., kotlin/Function1<#B, kotlin/Boolean>): kotlin.reflect/KProperty1<#A, #B> // arrow.match/takeIf|takeIf@kotlin.reflect.KProperty1<0:0,0:1>(kotlin.String?;kotlin.Function1<0:1,kotlin.Boolean>){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> arrow.match/Matcher(kotlin/String, kotlin/Function1<#A, #B>): kotlin.reflect/KProperty1<#A, #B> // arrow.match/Matcher|Matcher(kotlin.String;kotlin.Function1<0:0,0:1>){0§;1§}[0] -final fun <#A: kotlin/Any?> (#A).arrow.match/matchUnit(kotlin/Function1, kotlin/Unit>) // arrow.match/matchUnit|matchUnit@0:0(kotlin.Function1,kotlin.Unit>){0§}[0] -final fun <#A: kotlin/Any?> arrow.match/identity(): kotlin.reflect/KProperty1<#A, #A> // arrow.match/identity|identity(){0§}[0] -final inline fun <#A: kotlin/Any?, #B: reified #A> arrow.match/instanceOf(): kotlin.reflect/KProperty1<#A, #B> // arrow.match/instanceOf|instanceOf(){0§;1§<0:0>}[0] diff --git a/arrow-libs/optics/arrow-match/build.gradle.kts b/arrow-libs/optics/arrow-match/build.gradle.kts deleted file mode 100644 index 0dd83eae518..00000000000 --- a/arrow-libs/optics/arrow-match/build.gradle.kts +++ /dev/null @@ -1,50 +0,0 @@ -@file:Suppress("DSL_SCOPE_VIOLATION") - -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - - -plugins { - id(libs.plugins.kotlin.multiplatform.get().pluginId) - alias(libs.plugins.arrowGradleConfig.kotlin) - alias(libs.plugins.publish) - alias(libs.plugins.spotless) -} - -spotless { - kotlin { - ktlint().editorConfigOverride(mapOf("ktlint_standard_filename" to "disabled")) - } -} - -apply(from = property("ANIMALSNIFFER_MPP")) - -kotlin { - sourceSets { - commonMain { - dependencies { - implementation(libs.kotlin.stdlib) - implementation(projects.arrowCore) - } - } - commonTest { - dependencies { - implementation(libs.kotlin.test) - implementation(libs.kotest.assertionsCore) - implementation(libs.coroutines.test) - } - } - } - - jvm { - tasks.jvmJar { - manifest { - attributes["Automatic-Module-Name"] = "arrow.match" - } - } - } -} - -// enables context receivers for Jvm Tests -tasks.named("compileTestKotlinJvm") { - compilerOptions.freeCompilerArgs.add("-Xcontext-receivers") -} diff --git a/arrow-libs/optics/arrow-match/gradle.properties b/arrow-libs/optics/arrow-match/gradle.properties deleted file mode 100644 index 211d8ab440d..00000000000 --- a/arrow-libs/optics/arrow-match/gradle.properties +++ /dev/null @@ -1,2 +0,0 @@ -# Maven publishing configuration -POM_NAME=Arrow Match diff --git a/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt b/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt deleted file mode 100644 index 65cdb1bdbf8..00000000000 --- a/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Builders.kt +++ /dev/null @@ -1,88 +0,0 @@ -package arrow.match - -import arrow.core.Tuple4 -import arrow.core.Tuple5 -import kotlin.reflect.KProperty1 - -/** - * A matcher is a [KProperty1] which may throw [DoesNotMatch] - * to signal that it does not match the value. - */ -public typealias Matcher = KProperty1 - -public expect fun Matcher( - name: String, - get: (S) -> A -): Matcher - -public expect class DoesNotMatch(): Throwable - -public fun identity(): Matcher = Matcher("identity") { it } - -public inline fun instanceOf(): Matcher = - Matcher("instanceOf<${A::class.simpleName}>") { - if (it is A) it else throw DoesNotMatch() - } - -public fun Matcher.takeIf( - description: String? = null, - predicate: (A) -> Boolean -): Matcher = Matcher("${this.name}.${description ?: "suchThat"}") { - val value = this.get(it) - if (predicate(value)) value else throw DoesNotMatch() -} - -public val Matcher>.isNotEmpty: Matcher> - get() = this.takeIf("isNotEmpty") { it.isNotEmpty() } - -public fun Matcher.of( - field: Matcher -): Matcher = Matcher("${this.name}.of(${field.name})") { - field.get(this.get(it)) -} - -public fun Matcher.of( - field1: Matcher, - field2: Matcher -): Matcher> = Matcher( - "${this.name}.of(${field1.name}, ${field2.name})" -) { - val a = this.get(it) - Pair(field1.get(a), field2.get(a)) -} - -public fun Matcher.of( - field1: Matcher, - field2: Matcher, - field3: Matcher -): Matcher> = Matcher( - "${this.name}.of(${field1.name}, ${field2.name}, ${field3.name})" -) { - val a = this.get(it) - Triple(field1.get(a), field2.get(a), field3.get(a)) -} - -public fun Matcher.of( - field1: Matcher, - field2: Matcher, - field3: Matcher, - field4: Matcher -): Matcher> = Matcher( - "${this.name}.of(${field1.name}, ${field2.name}, ${field3.name}, ${field4.name})" -) { - val a = this.get(it) - Tuple4(field1.get(a), field2.get(a), field3.get(a), field4.get(a)) -} - -public fun Matcher.of( - field1: Matcher, - field2: Matcher, - field3: Matcher, - field4: Matcher, - field5: Matcher -): Matcher> = Matcher( - "${this.name}.of(${field1.name}, ${field2.name}, ${field3.name}, ${field4.name}, ${field5.name})" -) { - val a = this.get(it) - Tuple5(field1.get(a), field2.get(a), field3.get(a), field4.get(a), field5.get(a)) -} diff --git a/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt b/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt deleted file mode 100644 index 48206bc44ce..00000000000 --- a/arrow-libs/optics/arrow-match/src/commonMain/kotlin/arrow/match/Match.kt +++ /dev/null @@ -1,91 +0,0 @@ -package arrow.match - -import arrow.core.Tuple4 -import arrow.core.Tuple5 -import kotlin.reflect.KClass -import arrow.core.raise.Raise -import arrow.core.raise.SingletonRaise - -public abstract class MatchScope { - public abstract infix fun Matcher.then(next: (A) -> R) - public abstract fun default(next: () -> R) - - public val it: Matcher = Matcher("it") { it } - - public inline fun KClass.of( - field: Matcher - ): Matcher = instanceOf().of(field) - - public inline fun KClass.of( - field1: Matcher, - field2: Matcher - ): Matcher> = instanceOf().of(field1, field2) - - public inline fun KClass.of( - field1: Matcher, - field2: Matcher, - field3: Matcher - ): Matcher> = instanceOf().of(field1, field2, field3) - - public inline fun KClass.of( - field1: Matcher, - field2: Matcher, - field3: Matcher, - field4: Matcher - ): Matcher> = instanceOf().of(field1, field2, field3, field4) - - public inline fun KClass.of( - field1: Matcher, - field2: Matcher, - field3: Matcher, - field4: Matcher, - field5: Matcher - ): Matcher> = instanceOf().of(field1, field2, field3, field4, field5) -} - -private class MatchScopeImpl(val subject: S): MatchScope() { - override fun Matcher.then(next: (A) -> R) { - try { - this.get(subject)?.let { throw MatchFound(next(it)) } - } catch (e: DoesNotMatch) { - /* do nothing */ - } - } - override fun default(next: () -> R) { - throw MatchFound(next()) - } -} - -private class MatchFound(val result: Any?) : Throwable() - -@Suppress("UNCHECKED_CAST") -public fun S.matchOrElse( - noMatch: () -> R, - cases: MatchScope.() -> Unit, -): R = try { - cases(MatchScopeImpl(this)) - noMatch() -} catch (e: MatchFound) { - e.result as R -} - -public class MatchNotFound(public val value: Any?) : Throwable() - -public fun S.matchOrThrow( - exception: () -> Throwable = { MatchNotFound(this) }, - cases: MatchScope.() -> Unit, -): R = matchOrElse({ throw exception() }, cases) - -public fun Raise.matchOrRaise( - value: S, - cases: MatchScope.() -> Unit, -): R = value.matchOrElse({ raise(MatchNotFound(value)) }, cases) - -public fun SingletonRaise.matchOrRaise( - value: S, - cases: MatchScope.() -> Unit, -): R = value.matchOrElse({ raise() }, cases) - -public fun S.matchUnit( - cases: MatchScope.() -> Unit, -): Unit = matchOrElse({ }, cases) diff --git a/arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt deleted file mode 100644 index a54a1c3c221..00000000000 --- a/arrow-libs/optics/arrow-match/src/jsMain/kotlin/arrow/match/Matcher.kt +++ /dev/null @@ -1,11 +0,0 @@ -package arrow.match - -@Suppress("IMPLEMENTING_FUNCTION_INTERFACE") -public actual fun Matcher( - name: String, - get: (S) -> A -): Matcher = object : Matcher { - override val name: String = name - override fun get(receiver: S): A = get(receiver) - override fun invoke(receiver: S): A = get(receiver) -} diff --git a/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt b/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt deleted file mode 100644 index 594a206e437..00000000000 --- a/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/DoesNotMatch.kt +++ /dev/null @@ -1,6 +0,0 @@ -package arrow.match - -public actual class DoesNotMatch: Throwable() { - // disable stacktrace creation - override fun fillInStackTrace(): Throwable = this -} diff --git a/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt deleted file mode 100644 index 9218563ddda..00000000000 --- a/arrow-libs/optics/arrow-match/src/jvmMain/kotlin/arrow/match/Matcher.kt +++ /dev/null @@ -1,45 +0,0 @@ -package arrow.match - -import kotlin.reflect.KParameter -import kotlin.reflect.KProperty -import kotlin.reflect.KProperty1 -import kotlin.reflect.KType -import kotlin.reflect.KTypeParameter -import kotlin.reflect.KVisibility - -public actual fun Matcher( - name: String, - get: (S) -> A -): Matcher = object : Matcher, KProperty1.Getter { - override val name: String = name - override fun get(receiver: S): A = get(receiver) - override fun invoke(receiver: S): A = get(receiver) - - override val getter: KProperty1.Getter = this - override val property: KProperty = this - - override val annotations: List = emptyList() - override val isAbstract: Boolean = false - override val isConst: Boolean = false - override val isFinal: Boolean = false - override val isLateinit: Boolean = false - override val isOpen: Boolean = false - override val isSuspend: Boolean = false - override val isExternal: Boolean = false - override val isInfix: Boolean = false - override val isInline: Boolean = false - override val isOperator: Boolean = false - - override val parameters: List - get() = throw IllegalStateException("no parameters information") - override val returnType: KType - get() = throw IllegalStateException("no returnType information") - override val typeParameters: List = emptyList() - override val visibility: KVisibility? = null - - override fun call(vararg args: Any?): A = - get(args.single() as S) - override fun callBy(args: Map): A = - get(args.entries.single().value as S) - override fun getDelegate(receiver: S): Any? = null -} diff --git a/arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt b/arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt deleted file mode 100644 index bbbbb23e9ec..00000000000 --- a/arrow-libs/optics/arrow-match/src/jvmTest/kotlin/arrow/match/Simple.kt +++ /dev/null @@ -1,43 +0,0 @@ -package arrow.match - -import io.kotest.matchers.shouldBe -import kotlin.test.Test - -data class Name( - val firstName: String, val lastName: String -) - -sealed interface User -data class Person( - val name: Name, val age: Int -) : User - -data class Company( - val name: String, val director: Name, val address: String -): User - -val User.shownName: String get() = this.matchOrThrow { - Person::class.of(Person::name.of(Name::firstName), Person::age.takeIf { it < 18 }) then { (fn, _) -> fn } - Person::class.of(Person::name.of(Name::firstName, Name::lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } - Company::class.of(Company::name, Company::director.of(Name::lastName)) then { (nm, d) -> "$nm, att. $d" } -} - -val Person.shownNameForPerson: String get() = this.matchOrThrow { - it.of(Person::name.of(Name::firstName), Person::age.takeIf { it < 18 }) then { (fn, _) -> fn } - it.of(Person::name.of(Name::firstName, Name::lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } -} - -class MatchTest { - @Test - fun userKid() { - val p = Person(Name("Jimmy", "Jones"), 7) - p.shownName shouldBe "Jimmy" - p.shownNameForPerson shouldBe "Jimmy" - } - - @Test fun userAdult() { - val p = Person(Name("Jimmy", "Jones"), 20) - p.shownName shouldBe "Sir/Madam Jimmy Jones" - p.shownNameForPerson shouldBe "Sir/Madam Jimmy Jones" - } -} diff --git a/arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt deleted file mode 100644 index e6648f4f732..00000000000 --- a/arrow-libs/optics/arrow-match/src/nativeMain/kotlin/arrow/match/Matcher.kt +++ /dev/null @@ -1,15 +0,0 @@ -package arrow.match - -import kotlin.reflect.KType - -public actual fun Matcher( - name: String, - get: (S) -> A -): Matcher = object : Matcher { - override val name: String = name - override fun get(receiver: S): A = get(receiver) - override fun invoke(receiver: S): A = get(receiver) - - override val returnType: KType - get() = TODO("Not yet implemented") -} diff --git a/arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt b/arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt deleted file mode 100644 index bf031c60c18..00000000000 --- a/arrow-libs/optics/arrow-match/src/nonJvmMain/kotlin/arrow/match/DoesNotMatch.kt +++ /dev/null @@ -1,3 +0,0 @@ -package arrow.match - -public actual class DoesNotMatch: Throwable() diff --git a/arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt b/arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt deleted file mode 100644 index ad61c34100d..00000000000 --- a/arrow-libs/optics/arrow-match/src/wasmJsMain/kotlin/arrow/match/Matcher.kt +++ /dev/null @@ -1,10 +0,0 @@ -package arrow.match - -public actual fun Matcher( - name: String, - get: (S) -> A -): Matcher = object : Matcher { - override val name: String = name - override fun get(receiver: S): A = get(receiver) - override fun invoke(receiver: S): A = get(receiver) -} diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.api index 60d4a59df4a..68d01ff29e4 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.api @@ -540,42 +540,6 @@ public final class arrow/optics/dsl/OptionKt { public static final fun getSome (Larrow/optics/PTraversal;)Larrow/optics/PTraversal; } -public final class arrow/optics/match/CombinatorsKt { - public static final fun equalsTo (Ljava/lang/Object;)Larrow/optics/POptional; - public static final fun ifEquals (Larrow/optics/POptional;Ljava/lang/Object;)Larrow/optics/POptional; - public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun invoke (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun it (Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun it (Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;Larrow/optics/POptional;)Larrow/optics/POptional; - public static final fun predicate (Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; - public static final fun takeIf (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)Larrow/optics/POptional; -} - -public final class arrow/optics/match/MatchKt { - public static final fun matchOrElse (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static final fun matchOrRaise (Larrow/core/raise/Raise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static final fun matchOrRaise (Larrow/core/raise/SingletonRaise;Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static final fun matchOrThrow (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object; - public static synthetic fun matchOrThrow$default (Ljava/lang/Object;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Ljava/lang/Object; - public static final fun matchUnit (Ljava/lang/Object;Lkotlin/jvm/functions/Function1;)V -} - -public final class arrow/optics/match/MatchNotFound : java/lang/Throwable { - public fun (Ljava/lang/Object;)V - public final fun getValue ()Ljava/lang/Object; -} - -public abstract interface class arrow/optics/match/MatchScope { - public abstract fun default (Lkotlin/jvm/functions/Function0;)V - public abstract fun then (Larrow/optics/POptional;Lkotlin/jvm/functions/Function1;)V -} - 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; diff --git a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api index 662782165da..32054b51f09 100644 --- a/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api +++ b/arrow-libs/optics/arrow-optics/api/arrow-optics.klib.api @@ -266,24 +266,12 @@ abstract interface <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotli } } -abstract interface <#A: kotlin/Any?, #B: kotlin/Any?> arrow.optics.match/MatchScope { // arrow.optics.match/MatchScope|null[0] - abstract fun <#A1: kotlin/Any?> (arrow.optics/POptional<#A, #A, #A1, #A1>).then(kotlin/Function1<#A1, #B>) // arrow.optics.match/MatchScope.then|then@arrow.optics.POptional<1:0,1:0,0:0,0:0>(kotlin.Function1<0:0,1:1>){0§}[0] - abstract fun default(kotlin/Function0<#B>) // arrow.optics.match/MatchScope.default|default(kotlin.Function0<1:1>){}[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 class arrow.optics.match/MatchNotFound : kotlin/Throwable { // arrow.optics.match/MatchNotFound|null[0] - constructor (kotlin/Any?) // arrow.optics.match/MatchNotFound.|(kotlin.Any?){}[0] - - final val value // arrow.optics.match/MatchNotFound.value|{}value[0] - final fun (): kotlin/Any? // arrow.optics.match/MatchNotFound.value.|(){}[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] @@ -337,25 +325,16 @@ final val arrow.optics.dsl/some // arrow.optics.dsl/some|@arrow.optics.POptional 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?, #G: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>, arrow.optics/POptional<#B, #B, #F, #F>, arrow.optics/POptional<#B, #B, #G, #G>): arrow.optics/POptional<#A, #A, arrow.core/Tuple5<#C, #D, #E, #F, #G>, arrow.core/Tuple5<#C, #D, #E, #F, #G>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,0:4>;arrow.optics.POptional<0:1,0:1,0:5,0:5>;arrow.optics.POptional<0:1,0:1,0:6,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.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?, #E: kotlin/Any?, #F: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>, arrow.optics/POptional<#B, #B, #F, #F>): arrow.optics/POptional<#A, #A, arrow.core/Tuple4<#C, #D, #E, #F>, arrow.core/Tuple4<#C, #D, #E, #F>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,0:4>;arrow.optics.POptional<0:1,0:1,0:5,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?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>, arrow.optics/POptional<#A, #A, #D, #D>, arrow.optics/POptional<#A, #A, #E, #E>, arrow.optics/POptional<#A, #A, #F, #F>): arrow.optics/POptional<#A, #A, arrow.core/Tuple5<#B, #C, #D, #E, #F>, arrow.core/Tuple5<#B, #C, #D, #E, #F>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>;arrow.optics.POptional<0:0,0:0,0:3,0:3>;arrow.optics.POptional<0:0,0:0,0:4,0:4>;arrow.optics.POptional<0:0,0:0,0:5,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.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>, arrow.optics/POptional<#B, #B, #E, #E>): arrow.optics/POptional<#A, #A, kotlin/Triple<#C, #D, #E>, kotlin/Triple<#C, #D, #E>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>;arrow.optics.POptional<0:1,0:1,0:4,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.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>, arrow.optics/POptional<#A, #A, #D, #D>, arrow.optics/POptional<#A, #A, #E, #E>): arrow.optics/POptional<#A, #A, arrow.core/Tuple4<#B, #C, #D, #E>, arrow.core/Tuple4<#B, #C, #D, #E>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>;arrow.optics.POptional<0:0,0:0,0:3,0:3>;arrow.optics.POptional<0:0,0:0,0:4,0:4>){0§;1§;2§;3§;4§}[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/POptional<#A, #A, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>, arrow.optics/POptional<#B, #B, #D, #D>): arrow.optics/POptional<#A, #A, kotlin/Pair<#C, #D>, kotlin/Pair<#C, #D>> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<0:1,0:1,0:2,0:2>;arrow.optics.POptional<0:1,0:1,0:3,0:3>){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?, #D: kotlin/Any?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>, arrow.optics/POptional<#A, #A, #D, #D>): arrow.optics/POptional<#A, #A, kotlin/Triple<#B, #C, #D>, kotlin/Triple<#B, #C, #D>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>;arrow.optics.POptional<0:0,0:0,0:3,0:3>){0§;1§;2§;3§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core.raise/SingletonRaise<#C>).arrow.optics.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrRaise|matchOrRaise@arrow.core.raise.SingletonRaise<0:2>(0:0;kotlin.Function1,kotlin.Unit>){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(#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, #B, #B>).arrow.optics.match/invoke(arrow.optics/POptional<#B, #B, #C, #C>): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.match/invoke|invoke@arrow.optics.POptional<0:0,0:0,0:1,0:1>(arrow.optics.POptional<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/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] @@ -365,15 +344,9 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.optics/PTra 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?, #C: kotlin/Any?> arrow.optics.match/it(arrow.optics/POptional<#A, #A, #B, #B>, arrow.optics/POptional<#A, #A, #C, #C>): arrow.optics/POptional<#A, #A, kotlin/Pair<#B, #C>, kotlin/Pair<#B, #C>> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>;arrow.optics.POptional<0:0,0:0,0:2,0:2>){0§;1§;2§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.optics.match/matchOrElse(kotlin/Function0<#B>, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrElse|matchOrElse@0:0(kotlin.Function0<0:1>;kotlin.Function1,kotlin.Unit>){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (#A).arrow.optics.match/matchOrThrow(kotlin/Function0 = ..., kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrThrow|matchOrThrow@0:0(kotlin.Function0;kotlin.Function1,kotlin.Unit>){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.core.raise/Raise).arrow.optics.match/matchOrRaise(#A, kotlin/Function1, kotlin/Unit>): #B // arrow.optics.match/matchOrRaise|matchOrRaise@arrow.core.raise.Raise(0:0;kotlin.Function1,kotlin.Unit>){0§;1§}[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, #B, #B>).arrow.optics.match/ifEquals(#B): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/ifEquals|ifEquals@arrow.optics.POptional<0:0,0:0,0:1,0:1>(0:1){0§;1§}[0] -final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/takeIf(kotlin/Function1<#B, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/takeIf|takeIf@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] @@ -388,10 +361,8 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, ko 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.match/it(arrow.optics/POptional<#A, #A, #B, #B>): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/it|it(arrow.optics.POptional<0:0,0:0,0:1,0:1>){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.match/matchUnit(kotlin/Function1, kotlin/Unit>) // arrow.optics.match/matchUnit|matchUnit@0:0(kotlin.Function1,kotlin.Unit>){0§}[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] @@ -401,9 +372,5 @@ final fun <#A: kotlin/Any?> (arrow.optics/PTraversal<#A, #A, kotlin/String, kotl 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.match/equalsTo(#A): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.match/equalsTo|equalsTo(0:0){0§}[0] -final fun <#A: kotlin/Any?> arrow.optics.match/predicate(kotlin/Function1<#A, kotlin/Boolean>): arrow.optics/POptional<#A, #A, #A, #A> // arrow.optics.match/predicate|predicate(kotlin.Function1<0:0,kotlin.Boolean>){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] -final inline fun <#A: kotlin/Any, #B: reified #A> arrow.optics.match/instanceOf(): arrow.optics/POptional<#A, #A, #B, #B> // arrow.optics.match/instanceOf|instanceOf(){0§;1§<0:0>}[0] -final inline fun <#A: kotlin/Any?, #B: kotlin/Any, #C: reified #B> (arrow.optics/POptional<#A, #A, #B, #B>).arrow.optics.match/ifInstanceOf(): arrow.optics/POptional<#A, #A, #C, #C> // arrow.optics.match/ifInstanceOf|ifInstanceOf@arrow.optics.POptional<0:0,0:0,0:1,0:1>(){0§;1§;2§<0:1>}[0] diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt deleted file mode 100644 index aeb1701d7ca..00000000000 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Combinators.kt +++ /dev/null @@ -1,104 +0,0 @@ -package arrow.optics.match - -import arrow.core.Tuple4 -import arrow.core.Tuple5 -import arrow.core.raise.Raise -import arrow.core.raise.either -import arrow.core.raise.ensure -import arrow.optics.Optional -import arrow.optics.Prism - -public fun Optional.takeIf( - predicate: (A) -> Boolean, -): Optional = this.compose(predicate(predicate)) - -public fun predicate( - predicate: (A) -> Boolean, -): Optional = Optional( - getOrModify = { x -> - either { - ensure(predicate(x)) { x } - x - } - }, - set = { x, _ -> x } -) - -public fun Optional.ifEquals(value: A): Optional = this.takeIf { it == value } - -public fun equalsTo(value: A): Optional = predicate { it == value } - -public inline fun Optional.ifInstanceOf(): Optional = this.compose(instanceOf()) - -public inline fun instanceOf(): Optional = Prism.instanceOf() - -public operator fun Optional.invoke( - p1: Optional, -): Optional = this.compose(p1) - -public operator fun Optional.invoke( - p1: Optional, p2: Optional, -): Optional> = this.compose(it(p1, p2)) - -public operator fun Optional.invoke( - p1: Optional, p2: Optional, p3: Optional, -): Optional> = this.compose(it(p1, p2, p3)) - -public operator fun Optional.invoke( - p1: Optional, p2: Optional, p3: Optional, p4: Optional, -): Optional> = this.compose(it(p1, p2, p3, p4)) - -public operator fun Optional.invoke( - p1: Optional, p2: Optional, p3: Optional, p4: Optional, p5: Optional -): Optional> = this.compose(it(p1, p2, p3, p4, p5)) - -private fun OptionalUsingRaise( - getOrModify: Raise.(S) -> A, - set: (S, A) -> S -): Optional = Optional( - getOrModify = { x -> either { getOrModify(x) } }, - set = set -) - -public fun it( - p1: Optional -): Optional = p1 - -public fun it( - p1: Optional, p2: Optional, -): Optional> = OptionalUsingRaise( - { Pair(p1.getOrModify(it).bind(), p2.getOrModify(it).bind()) }, - { x, (a, b) -> p2.set(p1.set(x, a), b) } -) - -public fun it( - p1: Optional, p2: Optional, p3: Optional, -): Optional> = OptionalUsingRaise( - { Triple(p1.getOrModify(it).bind(), p2.getOrModify(it).bind(), p3.getOrModify(it).bind()) }, - { x, (a, b, c) -> p3.set(p2.set(p1.set(x, a), b), c) } -) - -public fun it( - p1: Optional, p2: Optional, p3: Optional, p4: Optional, -): Optional> = OptionalUsingRaise( - { Tuple4( - p1.getOrModify(it).bind(), - p2.getOrModify(it).bind(), - p3.getOrModify(it).bind(), - p4.getOrModify(it).bind()) - }, - { x, (a, b, c, d) -> p4.set(p3.set(p2.set(p1.set(x, a), b), c), d) } -) - -public fun it( - p1: Optional, p2: Optional, p3: Optional, p4: Optional, p5: Optional, -): Optional> = OptionalUsingRaise( - { Tuple5( - p1.getOrModify(it).bind(), - p2.getOrModify(it).bind(), - p3.getOrModify(it).bind(), - p4.getOrModify(it).bind(), - p5.getOrModify(it).bind()) - }, - { x, (a, b, c, d, e) -> p5.set(p4.set(p3.set(p2.set(p1.set(x, a), b), c), d), e) } -) diff --git a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt b/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt deleted file mode 100644 index fcca38ddccb..00000000000 --- a/arrow-libs/optics/arrow-optics/src/commonMain/kotlin/arrow/optics/match/Match.kt +++ /dev/null @@ -1,53 +0,0 @@ -package arrow.optics.match - -import arrow.core.raise.Raise -import arrow.core.raise.SingletonRaise -import arrow.optics.Optional - -public interface MatchScope { - public infix fun Optional.then(next: (A) -> R) - public fun default(next: () -> R) -} - -private class MatchScopeImpl(val subject: S): MatchScope { - override fun Optional.then(next: (A) -> R) { - this.getOrNull(subject)?.let { throw MatchFound(next(it)) } - } - override fun default(next: () -> R) { - throw MatchFound(next()) - } -} - -private class MatchFound(val result: Any?) : Throwable() - -@Suppress("UNCHECKED_CAST") -public fun S.matchOrElse( - noMatch: () -> R, - cases: MatchScope.() -> Unit, -): R = try { - cases(MatchScopeImpl(this)) - noMatch() -} catch (e: MatchFound) { - e.result as R -} - -public class MatchNotFound(public val value: Any?) : Throwable() - -public fun S.matchOrThrow( - exception: () -> Throwable = { MatchNotFound(this) }, - cases: MatchScope.() -> Unit, -): R = matchOrElse({ throw exception() }, cases) - -public fun Raise.matchOrRaise( - value: S, - cases: MatchScope.() -> Unit, -): R = value.matchOrElse({ raise(MatchNotFound(value)) }, cases) - -public fun SingletonRaise.matchOrRaise( - value: S, - cases: MatchScope.() -> Unit, -): R = value.matchOrElse({ raise() }, cases) - -public fun S.matchUnit( - cases: MatchScope.() -> Unit, -): Unit = matchOrElse({ }, cases) diff --git a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt b/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt deleted file mode 100644 index cfcde0575f8..00000000000 --- a/arrow-libs/optics/arrow-optics/src/commonTest/kotlin/arrow/optics/match/MatchTest.kt +++ /dev/null @@ -1,87 +0,0 @@ -package arrow.optics.match - -import arrow.optics.Lens -import arrow.optics.Prism -import io.kotest.matchers.shouldBe -import kotlin.test.Test - -data class Name( - val firstName: String, val lastName: String -) { - companion object { - val firstName: Lens = Lens( - get = { it.firstName }, - set = { name, firstName -> name.copy(firstName = firstName) } - ) - val lastName: Lens = Lens( - get = { it.lastName }, - set = { name, lastName -> name.copy(lastName = lastName) } - ) - } -} - -sealed interface User { - companion object { - val person: Prism = Prism.instanceOf() - val company: Prism = Prism.instanceOf() - } -} - -data class Person( - val name: Name, val age: Int -): User { - companion object { - val name: Lens = Lens( - get = { it.name }, - set = { person, name -> person.copy(name = name) } - ) - val age: Lens = Lens( - get = { it.age }, - set = { person, age -> person.copy(age = age) } - ) - } -} - -data class Company( - val name: String, val director: Name, val address: String -): User { - companion object { - val name: Lens = Lens( - get = { it.name }, - set = { company, name -> company.copy(name = name) } - ) - val director: Lens = Lens( - get = { it.director }, - set = { company, director -> company.copy(director = director) } - ) - val address: Lens = Lens( - get = { it.address }, - set = { company, address -> company.copy(address = address) } - ) - } -} - -val User.shownName: String get() = this.matchOrThrow { - User.person(Person.name(Name.firstName), Person.age.takeIf { it < 18 }) then { (fn, _) -> fn } - User.person(Person.name(Name.firstName, Name.lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } - User.company(Company.name, Company.director(Name.lastName)) then { (nm, d) -> "$nm, att. $d" } -} - -val Person.shownNameForPerson: String get() = this.matchOrThrow { - it(Person.name(Name.firstName), Person.age.takeIf { it < 18 }) then { (fn, _) -> fn } - it(Person.name(Name.firstName, Name.lastName)) then { (fn, ln) -> "Sir/Madam $fn $ln" } -} - -class MatchTest { - @Test fun userKid() { - val p = Person(Name("Jimmy", "Jones"), 7) - p.shownName shouldBe "Jimmy" - p.shownNameForPerson shouldBe "Jimmy" - } - - @Test fun userAdult() { - val p = Person(Name("Jimmy", "Jones"), 20) - p.shownName shouldBe "Sir/Madam Jimmy Jones" - p.shownNameForPerson shouldBe "Sir/Madam Jimmy Jones" - } -} diff --git a/settings.gradle.kts b/settings.gradle.kts index cdeb2dcd5ab..8500aca8674 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -108,9 +108,6 @@ project(":arrow-optics-compose").projectDir = file("arrow-libs/optics/arrow-opti include("arrow-optics-ksp-plugin") project(":arrow-optics-ksp-plugin").projectDir = file("arrow-libs/optics/arrow-optics-ksp-plugin") -include("arrow-match") -project(":arrow-match").projectDir = file("arrow-libs/optics/arrow-match") - // STACK include("arrow-stack") project(":arrow-stack").projectDir = file("arrow-libs/stack") From f10a1cf333566855db9164fa124ab6a6df41bde9 Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Wed, 16 Oct 2024 19:13:18 +0200 Subject: [PATCH 63/67] Switch off inlining in optics by default (#3505) --- .../optics/plugin/OpticsProcessorOptions.kt | 2 +- .../arrow/optics/plugin/internals/dsl.kt | 57 ++++++++++--------- .../arrow/optics/plugin/internals/snippets.kt | 6 +- 3 files changed, 33 insertions(+), 32 deletions(-) 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/dsl.kt b/arrow-libs/optics/arrow-optics-ksp-plugin/src/main/kotlin/arrow/optics/plugin/internals/dsl.kt index b45c140f59a..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 <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> inline 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> $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 <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__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> $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 <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> inline 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() } @@ -74,23 +75,23 @@ private fun processPrismSyntax(ele: ADT, dsl: SealedClassDsl, className: String) else -> focus.refinedArguments.joinToString(separator = ",") } """ - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__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() } } -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 <__S> $Iso<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Iso<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Lens<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Lens<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Optional<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Optional<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Prism<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Prism<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} - |${ele.visibilityModifierName} inline val <__S> $Traversal<__S, ${ele.sourceClassName}>.${focus.escapedParamName}: $Traversal<__S, ${focus.classNameWithParameters}> inline get() = this + $className.${focus.escapedParamName} + |${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 <__S,$joinedTypeParams> $Iso<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Iso<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Lens<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Lens<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Optional<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Optional<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Prism<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Prism<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() - |${ele.visibilityModifierName} inline fun <__S,$joinedTypeParams> $Traversal<__S, $sourceClassNameWithParams>.${focus.escapedParamName}(): $Traversal<__S, ${focus.classNameWithParameters}> = this + $className.${focus.escapedParamName}() + |${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/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) } } From c47d9bcfbb402f827b312dbcfec1d5cf68ba2fc3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 20:51:51 +0200 Subject: [PATCH 64/67] fix(deps): update dependency androidx.compose.runtime:runtime to v1.7.4 (#3511) | datasource | package | from | to | | ---------- | -------------------------------- | ----- | ----- | | maven | androidx.compose.runtime:runtime | 1.7.3 | 1.7.4 | Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b6759d730d5..80163af526b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,7 +16,7 @@ mockWebServer = "4.12.0" retrofit = "2.11.0" moshi = "1.15.1" spotlessVersion = "6.25.0" -compose = "1.7.3" +compose = "1.7.4" composePlugin = "1.7.0" agp = "8.7.1" android-compileSdk = "34" From bc9bf92cc98e01c21bdd2bf8640cf7db0f97204a Mon Sep 17 00:00:00 2001 From: Phil Davies Date: Mon, 28 Oct 2024 20:25:30 +0000 Subject: [PATCH 65/67] refactor: rename Map.flatMap and Map.mapNotNull (#3512) --- arrow-libs/core/arrow-core/api/arrow-core.api | 4 ++-- arrow-libs/core/arrow-core/api/arrow-core.klib.api | 4 ++-- .../src/commonMain/kotlin/arrow/core/map.kt | 8 ++++---- .../src/commonTest/kotlin/arrow/core/MapKTest.kt | 12 ++++++------ 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index e8c75137883..a6202acc399 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -309,12 +309,12 @@ 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 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; diff --git a/arrow-libs/core/arrow-core/api/arrow-core.klib.api b/arrow-libs/core/arrow-core/api/arrow-core.klib.api index 4fdc4eff68f..9cf4cc2b31e 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -729,8 +729,7 @@ final fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (arrow.core/Either 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/flatMap(kotlin/Function1, kotlin.collections/Map<#A, #C>>): kotlin.collections/Map<#A, #C> // arrow.core/flatMap|flatMap@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/mapNotNull(kotlin/Function1, #C?>): kotlin.collections/Map<#A, #C> // arrow.core/mapNotNull|mapNotNull@kotlin.collections.Map<0:0,0:1>(kotlin.Function1,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] @@ -934,6 +933,7 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?> (kotlin.col 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] 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..df8e0013740 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 @@ -244,9 +244,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) @@ -267,9 +267,9 @@ public inline fun Map.mapOrAccumulate( mapOrAccumulate(this@mapOrAccumulate, 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/commonTest/kotlin/arrow/core/MapKTest.kt b/arrow-libs/core/arrow-core/src/commonTest/kotlin/arrow/core/MapKTest.kt index e6ba1a9d7e1..4535cba4984 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() @@ -725,11 +725,11 @@ class MapKTest { } } - @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() From bea9f368c7327c60892b37cdbf8b7e71dca5a13d Mon Sep 17 00:00:00 2001 From: Phil Davies Date: Fri, 1 Nov 2024 06:07:38 +0000 Subject: [PATCH 66/67] Deprecate mapOrAccumulate for Map (#3513) --- arrow-libs/core/arrow-core/api/arrow-core.api | 6 ++++ .../core/arrow-core/api/arrow-core.klib.api | 6 ++++ .../src/commonMain/kotlin/arrow/core/map.kt | 24 +++++++++++-- .../arrow/core/raise/RaiseAccumulate.kt | 35 +++++++++++++++++-- .../commonTest/kotlin/arrow/core/MapKTest.kt | 16 ++++----- 5 files changed, 74 insertions(+), 13 deletions(-) diff --git a/arrow-libs/core/arrow-core/api/arrow-core.api b/arrow-libs/core/arrow-core/api/arrow-core.api index a6202acc399..7bd1af56b99 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.api @@ -315,6 +315,8 @@ public final class arrow/core/MapKt { 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; @@ -972,8 +974,10 @@ public class arrow/core/raise/RaiseAccumulate : arrow/core/raise/Raise { 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; @@ -1049,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 index 9cf4cc2b31e..ddf1dd333e5 100644 --- a/arrow-libs/core/arrow-core/api/arrow-core.klib.api +++ b/arrow-libs/core/arrow-core/api/arrow-core.klib.api @@ -471,6 +471,8 @@ open class <#A: kotlin/Any?> arrow.core.raise/RaiseAccumulate : arrow.core.raise 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] @@ -899,13 +901,17 @@ final inline fun <#A: kotlin/Any?, #B: kotlin/Any?, #C: kotlin/Any?, #D: kotlin/ 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] 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 df8e0013740..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 /** @@ -254,17 +255,34 @@ public fun Map.flatMapValues(f: (Map.Entry) -> Map): } } +@Deprecated( + message = "Deprecated to allow for future alignment with stdlib Map#map returning List", + replaceWith = ReplaceWith("mapValuesOrAccumulate(combine, transform)"), +) public inline fun 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 inline fun Map.mapValuesNotNull(transform: (Map.Entry) -> B?): Map = 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 b798f7e36f3..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 @@ -651,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) } @@ -662,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) { @@ -712,7 +733,7 @@ public open class RaiseAccumulate( 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( @@ -729,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( 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 4535cba4984..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 @@ -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,13 +714,13 @@ 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) } } From 8a324df9624d65626fadef426f819b944c39d35a Mon Sep 17 00:00:00 2001 From: Alejandro Serrano Date: Fri, 1 Nov 2024 21:41:01 +0100 Subject: [PATCH 67/67] Update KSP to 1.0.26 (#3517) --- arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts | 6 ++++++ gradle/libs.versions.toml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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 8eb8eb6cb6c..3c68f03ec4f 100644 --- a/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts +++ b/arrow-libs/optics/arrow-optics-ksp-plugin/build.gradle.kts @@ -27,6 +27,12 @@ kotlin { } } +java { + toolchain { + languageVersion.set(JavaLanguageVersion.of(11)) + } +} + apply(from = property("ANIMALSNIFFER_MPP")) dependencies { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 80163af526b..7e718d376d1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,7 +10,7 @@ kotlin = "2.0.21" kotlinBinaryCompatibilityValidator = "0.16.3" kotlinCompileTesting = "0.5.1" knit = "0.5.0" -kspVersion = "2.0.21-1.0.25" +kspVersion = "2.0.21-1.0.26" kotlinxSerialization = "1.7.3" mockWebServer = "4.12.0" retrofit = "2.11.0"