I am confused about the following two Kotlin code snippets:
A:
val r: Result<Unit> = Result.success(Unit).map { Result.success(Unit) }
B:
val r: Result<Int> = Result.success(Unit).map { Result.success(1) }
Snippet A compiles while snippet B does not compile.
Can someone explain why snippet A works with the Kotlin type system.