Current implementation in 'master' looks like:
typealias ExecutorEffectsInterpreter<Eff, Msg> = ExecutorService.(eff: Eff, listener: (Msg) -> Unit) -> Unit
class ExecutorEffectHandler<Msg : Any, Eff : Any>(
// ...
) : EffectHandler<Eff, Msg> {
override fun handleEffect(eff: Eff) {
effectsExecutorService.run { effectsInterpreter(eff, listener ?: {}) } // !!! THIS
}
}
Line with comment do nothing except proxying call to extension function via run {} call. Shouldn't it be fixed like this?
effectsExecutorService.execute { effectsInterpreter(eff, listener ?: {}) }