makeIOCall
inline fun <T> AndroidViewModel.makeIOCall(crossinline onCallExecuted: () -> Unit = {}, crossinline onErrorAction: (throwable: Throwable) -> Unit = { _ -> }, crossinline ioCall: suspend () -> T, crossinline onCalled: (model: T) -> Unit): Job
inline fun <T> CoroutineScope.makeIOCall(crossinline onCallExecuted: () -> Unit = {}, crossinline onErrorAction: (throwable: Throwable) -> Unit = { _ -> }, crossinline ioCall: suspend () -> T, crossinline onCalled: (model: T) -> Unit): Job
inline fun AndroidViewModel.makeIOCall(crossinline onCallExecuted: () -> Unit = {}, crossinline ioCall: suspend () -> Unit): Job
inline fun AndroidViewModel.makeIOCall(crossinline onCallExecuted: () -> Unit = {}, crossinline onErrorAction: (throwable: Throwable) -> Unit = { _ -> }, crossinline ioCall: suspend () -> Unit): Job
inline fun CoroutineScope.makeIOCall(crossinline onCallExecuted: () -> Unit = {}, crossinline ioCall: suspend () -> Unit): Job
inline fun CoroutineScope.makeIOCall(crossinline onCallExecuted: () -> Unit = {}, crossinline onErrorAction: (throwable: Throwable) -> Unit = { _ -> }, crossinline ioCall: suspend () -> Unit): Job