//RELEASE_COROUTINE_NEEDED class Foo { suspend fun doSomething(foo: Foo): Bar {} } class Boo { private suspend fun doSomething(foo: Foo): Bar {} } class Bar { fun async(block: suspend () -> T) } interface Base { suspend fun foo() } class Derived: Base { override suspend fun foo() { ... } }