anchor.diff:  push constructor, like so: `(entity-map! [:A] {:a 1})`; to fetch
   Entities by kind, do the same with the pull constructor: `(entity-map*
   [:A])`.  Kinded construction is not supported for the local
  -constructor (`entity-map`); the datastore can only generated Ids for
  +constructor (`entity-map`); the datastore can only generate Ids for
   stored entities.
   
   [source,clojure]
  
positive.code: (= (val  em) {:a 1 :b 2})
  (= (keys em) [:a :b])
  (= (vals em) [1 2])
  ----
  
  ### Keys, keychains, keylinks, and dogtags
  
  A keylink is a namespaced keyword, e.g. `:Foo/Bar`.  A vector of
  keylinks is a keychain, which corresponds to a datastore Key, which
  
negative.code: (= (kind (entity-map [:Foo/Bar :X/d3] {:a 1})) :X)
  ----
  
  ===# autogenned ids
  
  Use a partial ("improper") keychain to have the datastore autogen Id
  values.  All but the last links in the vector must be namespaced;
  