anchor.diff:  
   == Subscriptions
   
  -Subscriptions allows you to subscribe to a query. It allows you to receive events.
  -
  -NOTE: Subscription is currently still considered experimental.
  +Subscriptions allows you to subscribe to a query. It allows you to receive events and is using web sockets. 
  +See the https://github.com/enisdenjo/graphql-ws/blob/master/PROTOCOL.md[GraphQL over WebSocket Protocol] spec for more details.
   
   Example: We want to know when new Heroes are being created:
   
  
positive.code: 
  NOTE: For the Observer to work, you need to enable events. In `application.properties`, add the following: `quarkus.smallrye-graphql.events.enabled=true`.
  
  == Map to Scalar
  
  Another SmallRye specific experimental feature, allows you to map an existing scalar (that is mapped by the implementation to a certain Java type) to another type,
  or to map complex object, that would typically create a `Type` or `Input` in GraphQL, to an existing scalar.
  
  === Mapping an existing Scalar to another type:
  
  [source,java]
  ----
  public class Movie {
  
      @ToScalar(Scalar.Int.class)
      Long idLongThatShouldChangeToInt;
      
      // ....
  }
  ----
  
  Above will map the `Long` java type to an `Int` Scalar type, rather than the https://download.eclipse.org/microprofile/microprofile-graphql-1.0/microprofile-graphql.html#scalars[default] `BigInteger`.
  
  === Mapping a complex object to a Scalar type:
  
  [source,java]
  ----
  public class Person {
  
      @ToScalar(Scalar.String.class)
      Phone phone;
      
      // ....
  
negative.code:     }
  ----
  
  
  Or you can use `@NonBlocking`:
  
  [source,java]
  ----
      @Query
      @Description("Get a Films from a galaxy far far away")
      @NonBlocking
      public Film getFilm(int filmId) {
          // ...
      }
  ----
   
  Using `Uni` or `@NonBlocking` means that the request will be executed on Event-loop threads rather than Worker threads.
  
  You can mix Blocking and Non-blocking in one request, 
  
  [source, java]
  ----
      @Query
      @Description("Get a Films from a galaxy far far away")
      @NonBlocking
      public Film getFilm(int filmId) {
          // ...
      }
  
      public List<Hero> heroes(@Source Film film) { 
          return service.getHeroesByFilm(film);
      }
  ----
  
  Above will fetch the film on the event-loop threads, but switch to the worker thread to fetch the heroes.
  
  == Mutations
  
  