anchor.diff:  
   === Connect readers
   
  -The `p.connect/all-readers` is a combination of a few readers used by connect, let's talk
  -about each reader individually.
  -
  -==== `p.connect/reader`
  +==== `pc/parallel-reader`
  +
  +Parallel reader from connect is implemented to work with the `paralle-parser`. This reader
  +is capable of detecting attribute dependencies, execute multiple in parallel
  +and coodinate the return, including back tracking for secondary paths.
  +
  +More details will be documented later.
  +
  +==== `pc/reader2`
  +
  +This reader leverages some tecniques that were develop during the
  +creationg of the parallel reader, things like path choosing and
  +backtracking.
  +
  +==== `pc/async-reader2`
  +
  +Like `pc/reader2` but knows how to handle async processing inside.
  +
  +==== `pc/reader` [DEPRECATED]
  +
  +DEPRECATED: use `pc/reader2` instead
   
   The main `Connect` reader. This will look up the attribute in the index and try to resolve it, recursively if necessary.
   
  -==== `p.connect/ident-reader` [[connect-ident-reader]]
  +==== `pc/async-reader` [DEPRECATED]
  +
  +DEPRECATED: use `pc/async-reader2` instead
  +
  +Like `pc/reader` but knows how to handle async processing inside.
  +
  +==== `pc/ident-reader` [[connect-ident-reader]]
   
   The `ident-reader` is used to resolve ident-based queries by establishing an initial context from the ident.
   When an ident query reaches this reader it will check the index to see if the ident key is present on in the indexed
  
positive.code: 
  [source,clojure]
  ----
  {::p.connect/index-resolvers
   {get-started/latest-product
    {::p.connect/sym    get-started/latest-product
     ::p.connect/input  #{}
     ::p.connect/output [{::get-started/latest-product [:product/id
                                                        :product/title
                                                        :product/price]}]}
  
    get-started/product-brand
    {::p.connect/sym    get-started/product-brand
     ::p.connect/input  #{:product/id}
     ::p.connect/output [:product/brand]}
  
    get-started/brand-id-from-name
    {::p.connect/sym    get-started/brand-id-from-name
     ::p.connect/input  #{:product/brand}
     ::p.connect/output [:product/brand-id]}}
  
   ::p.connect/index-oir
   {:get-started/latest-product {#{} #{get-started/latest-product}}
    :product/brand              {#{:product/id} #{get-started/product-brand}}
    :product/brand-id           {#{:product/brand} #{get-started/brand-id-from-name}}}
  
   ::p.connect/index-io
   {#{}               {:get-started/latest-product #:product{:id {} :title {} :price {}}}
    #{:product/id}    {:product/brand {}}
    #{:product/brand} {:product/brand-id {}}}
  
   ::p.connect/idents
   #{:product/brand :product/id}}
  ----
  
  
negative.code:   [:user/id :user/name :other/data]}]
  ----
  
  ==== `pc/open-ident-reader`
  
  Like `ident-reader`, but not constrained to the indexed idents, this will create a context from any ident.
  
  ==== `pc/index-reader`
  
  This reader exposes the index itself with the name `::pc/indexes`.
  
  === Understanding the indexes
  
  