title: Is there a alternative in Kotlin coroutines for RxJava's 'Single'?
body: <p>I am trying to convert some RxJava code to use coroutines instead.</p>
  <p>Here is an example of code to make an API call using <code>Single</code> in RxJava. What do I need to do to replicate that part of the functionality using coroutines?</p>
  <pre><code> override fun getRegisteredDevicesList(
          headerStoreId: String,
          headerDeviceId: String,
          headerApplicationVersionNo: String,
          appId: String,
          storeId: String
      ): Single&lt;Result&lt;RegisteredDevicesListData&gt;&gt; {
  
          return deviceLocatorApiService.getRegisteredDevicesListFromServer(
              headerStoreId = headerStoreId,
              headerDeviceId = headerDeviceId,
              headerApplicationVersionNo = headerApplicationVersionNo,
              registeredDevicesListRequest = RegisteredDevicesListRequest(
                  appId = appId,
                  storeId = storeId
              )
          )
              .map { Result.withValue(it.toDomain()) }
              .onErrorReturn {
                  Result.withError(
                      DeviceLocatorError(Utility.getNetworkErrorMessageFromThrowable(it), it)
                  )
              }
      }
  </code></pre>
  <p>Someone suggested that I use <code>coroutineScopes</code>, but I'm struggling to implement it.</p>