anchor.diff:  * Collect operations are suspending functions
   * https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/map.html[`map` operator] supports asynchronous operation (no need for `flatMap`) since it takes a suspending function parameter
   
  -Read this blog post about https://medium.com/@elizarov/structured-concurrency-722d765aa952[structured concurrency]
  -to understand how to run code concurrently with Coroutines and how are managed exceptions and cancellations.
  +Read this blog post about https://spring.io/blog/2019/04/12/going-reactive-with-spring-coroutines-and-kotlin-flow[Going Reactive with Spring, Coroutines and Kotlin Flow]
  +for more details, including how to run code concurrently with Coroutines.
   
   === Controllers
   
  
positive.code: You can declare configuration classes as
  https://kotlinlang.org/docs/reference/nested-classes.html[top level or nested but not inner],
  since the later requires a reference to the outer class.
  
  
  
  
  [[kotlin-annotations]]
  == Annotations
  
negative.code: does not require the `kotlin-noarg` plugin if the module uses Spring Data object mappings
  (such as MongoDB, Redis, Cassandra, and others).
  
  === Injecting Dependencies
  
  Our recommendation is to try and favor constructor injection with `val` read-only (and
  