eThing&gt; {<br>  ...<br>}<br><br>class SomeOperation @Inject constructor(<br>  val interceptors: Set&lt;@JvmSuppressWildcards Interceptor&lt;SomeThing&gt;&gt;<br>) {<br>  fun performOperation(value: SomeThing): SomeThing {<br>    return interceptors.fold(value) { v, interceptor -&gt; interceptor.intercept(v) }<br>  }<br>}</code></pre><span class="top-right-position"><span class="copy-icon"></span><div class="copy-popup-wrapper popup-to-left"><span class="copy-popup-icon"></span><span>Content copied to clip