anchor.diff:  
   The library includes:
   
  -* A xref:core/readers.adoc[reader abstraction] that allows for easy composition.
  -* The concept of xref:core/entities.adoc[entity] which works as a base framework for reusable sharable readers.
  +* A composable xref:core/readers.adoc[reader abstraction].
  +* The concept of xref:core/entities.adoc[entity], which works as a base framework for reusable sharable readers.
   * A xref:plugins.adoc[plugin system] with some built-in plugins:
   ** xref:core/errors.adoc[Error handler]: Handles errors at an attribute level.
   ** xref:core/request-cache.adoc[Request cache]: For caching the results of parsing repetition that can happen on a single request.
   ** xref:core/trace.adoc[Tracer]: a plugin to measure and debug each step of the parsing process.
  -* xref:connect.adoc[Connect]: a higher level abstraction that can resolve attribute relationships automatically. For
  -example automatic traversal of database joins or resolving data through network requests.
  +* xref:connect.adoc[Connect]: a higher-level abstraction that can resolve attribute relationships automatically. For
  +example, automatic traversal of database joins or resolving data through network requests.
   This enables exploratory capabilities and much simpler access when the need arises to do
   extra work to resolve a single conceptual join.
   * xref:graphql.adoc[GraphQL integration]: Use GraphQL endpoints directly from your query system (in development).
   
  -Most people will find the most leverage in the xref:connect.adoc[Connect] features, which allow you to quickly build dynamic
  -query processing systems to easily satisfy client data requests.
  +Most people find the most leverage in the xref:connect.adoc[Connect] features, which
  +allow you to quickly build dynamic query processing systems to satisfy client data requests
  +with ease.
   
   == Aliases Used in Code Examples
   
  -Throughout the book our code examples will use aliases instead of explicit namespaces. The aliases used are as if we
  -had the following namespace requires:
  +Throughout the book, our code examples use aliases instead of explicit namespaces. The
  +aliases used assumes you have the following namespace requires:
   
   ```
   (ns my-namespace
  
positive.code:     [com.wsscode.common.async-cljs :refer [let-chan <!p go-catch <? <?maybe]]))
  ```
  
  So, any time you see a usage of a namespace in a keyword or function like `p/parser` or `::p/reader` you should remember
  that these are the namespaces involved.
  
  == Presentations
  
  If you like to learn by seeing presentations, there are two that mention it:
  
  1. https://www.youtube.com/watch?v=yyVKf2U8YVg[Conj 2018 - Scaling Full Stack Applications].
  2. https://www.youtube.com/watch?v=r3zywlNflJI[Dutch Clojure Days 2018 - Clojure Graph API's].
  
  == Contributing
  
  In every page of this documentation you will find a an icon at the top right, click
  on that icon to edit the current page (it will open the Github link to edit the page source).
  
  == How to Use This Library
  
  We expect most of our user base is made up of Fulcro users, but this library is a stand alone thing
  that you can use to fulfill any system using EQL queries. The purpose of this library is to make it
  much easier to build code that can process EQL on both the client and server side.
  We expect you to have have one or more of the following needs:
  
  * You want to fulfill a client UI query from some server-side data source(s).
  * You want to build a client-side parser for directly filling local UI data queries from a local data source.
  
negative.code: * You want to use a GraphQL API from the client.
  * You want to provide third-party users a GraphQL API (Future Work)
  
  When building most parsers, you'll want to use xref:connect.adoc[Pathom Connect].
  
  To process EQL queries against GraphQL you'll use the xref:graphql.adoc[GraphQL Integration].
  