Calls f(this) with side effect and return this as is.
Result<T> onResult(Function(Result<T>) f) { f(this); return this; }