anchor.diff:  val config = KorolevServiceConfig[monix.eval.Task, MyState, Any](...)
   ------------------------------
   
  -https://github.com/fomkin/korolev/blob/v0.16.0/examples/monix/src/main/scala/MonixExample.scala[See full example]
  +https://github.com/fomkin/korolev/blob/v0.17.0/examples/monix/src/main/scala/MonixExample.scala[See full example]
   
   ==== Cats IO
   
  
positive.code: 
  Korolev uses `Throwable` inside itself. That means if you want to work with your own, you should provide functions to convert `Throwable` to [[E]] and vice versa.
  
  https://github.com/fomkin/korolev/blob/v0.16.0/examples/zio/src/main/scala/ZioExample.scala[See full example]
  
  ==== Monix
  
  
negative.code: Korolev doesn't have any specific code to support WebComponents. WebComponent (Custom Elements + Shadow DOM) by design should behave as regular HTML tags. There is no difference between, for example, input or textarea, and any custom element.
  ============
  
  https://github.com/fomkin/korolev/blob/v0.17.0/examples/web-component/src/main/scala/WebComponentExample.scala[See full example]
  
  === Call JavaScript from server
  
  