title: When and how to use Result in Kotlin?
body: <p>I love the idea of Result.
  I love having encapsulated try/catch.</p>
  <p>But I’m a little confused about how and when to use Result.</p>
  <p>I currently use it like this:</p>
  <p>My adapters and services return a Result. Failures and stacktraces are logged but do nothing else</p>
  <pre><code>runCatching{
      .... // do something cool 
  }.onFailure {
      logger.error(&quot;Something bad happened &quot;, it)
  }
  </code></pre>
  <p>My Resource classes fold and handle the Result</p>
  <pre><code>return service.method().fold(
      onFailure = {
          Response.serverError().entity(&quot;Oops&quot;).build()
      },
      onSuccess = {
          Response.ok().entity(doSomethingWith(it)).build()
      }
  )
  </code></pre>
  <p>Is this really the correct way to use a Result? Or is there a more idiomatic way to code in Kotlin?</p>