Success & logic error propagation in Kotlin

In Kotlin, the expected code-flow should not use exceptions. The non-success code flow should be propagated through return type to be well-documented, strictly & statically typed. This post should be a practical guide after you have read Elizarov’s great post on Kotlin and Exceptions. Be aware that this post talks about domain errors, as described … Read more


A lot was written about variance and its application in generics. This is another trial to explain variance and its practical usage. Let’s explore this using Kotlin. This article expects basic knowledge about generics. Variance is a powerful way to allow your code to do more. It is most obvious when you consider generics with … Read more