pub async fn graphql_sync<CtxT, QueryT, MutationT, SubscriptionT, S>(
    root_node: Arc<RootNode<'static, QueryT, MutationT, SubscriptionT, S>>,
    context: Arc<CtxT>,
    req: Request<Incoming>
) -> Response<String>
where QueryT: GraphQLType<S, Context = CtxT>, QueryT::TypeInfo: Sync, MutationT: GraphQLType<S, Context = CtxT>, MutationT::TypeInfo: Sync, SubscriptionT: GraphQLType<S, Context = CtxT>, SubscriptionT::TypeInfo: Sync, CtxT: Sync, S: ScalarValue + Send + Sync,