Method chaining becomes complicated if you have multiple return values. In Go, you can't return error values if you want to do method chaining. Error handling then becomes even more complicated.
enum Result<T, E> { Ok(T), Err(E), }
I have no idea why the Kotlin std lib has a Result type but limits it to exceptions - such a missed opportunity.