-Xjvm-default=all means we don't have to constantly annotate interface members with @JvmDefault.
Explicit API mode forces us to be more deliberate about what is exposed in the public API. This will be the bulk of the changes in this PR. (this feature singlehandedly took the number of warnings up from 63 to 3,723)
Kotlin 1.4 offers several useful improvements for LibLib:
method { block }
syntax for Java SAM interfaces, meaning we no longer need to have separate Kotlin methods that forward to the ones with SAM interfaces.-Xjvm-default=all
means we don't have to constantly annotate interface members with@JvmDefault
.