["Request"] Generated extensions fail to put parameter as nullable
See for example Semigroup's maybeCombine signature: fun A.maybeCombine(b: A?): A
None of the generated Semigroup instances generate the nullable parameter and therefore this function cannot be properly used.
This issue seems to be caused by KotlinPoet itself, according to the last update (1.6.0):
Mirror API integrations, such as TypeElement.asClassName() and FunSpec.overriding(ExecutableElement), are being deprecated in this release. These KotlinPoet APIs are most often used in annotation processors. Since kapt runs annotation processors over stubs, which are Java files, a lot of the Kotlin-specific information gets lost in translation and cannot be accessed by KotlinPoet through the Mirror API integrations. Examples include:
Type nullability information is not accessible.
The correct solution is to switch to KotlinPoet-metadata or KotlinPoet-metadata-specs API, which fetches Kotlin-specific information from the @Metadata annotation and produces correct KotlinPoet Specs. We may explore adding new metadata-based alternatives to the deprecated APIs in the future.
Although no specific information about how to handle this with the new libs is included.