anchor.diff:  ### field types
   
   The value part of an entity-map is just a map.  The datastore
  -restricts the permissible value types; see  [Properties and value types](https://cloud.google.com/appengine/docs/java/datastore/entities#Java_Properties_and_value_types)
  +restricts the permissible value types; see  link:https://cloud.google.com/appengine/docs/java/datastore/entities#Java_Properties_and_value_types[Properties and value types].
   
   ```
   (entity-map [:Foo/Bar] {:a 1})  ;; java.lang.Long
  
positive.code: keylinks is a keychain, which corresponds to a datastore Key, which
  has a Kind of type String, an Identifier (either a String name or a
  long Id), and (optionally) a parent Key.  See
  [Keychains](doc/Keychains.md) for more detail.
  
  **_Caveat_**: note the difference between a datastore Key and a
    clojure key.  The former is a type (class), the latter is a
  
negative.code: 
  ## testing
  
  See the link:test/clojure/migae[tests] for lots of examples of how to use
  the library.  Be **be forewarned**, the test cases are in flux; some
  of them are outdated, and the api is changing.
  
  ## types
  
  * `migae.datastore.PersistentEntityMap` - migae representation of underlying `com.google.appengine.api.datastore.Entity`.  Implements IPersistentCollection, IPersistentMap, IMapEntry, etc.  See link:doc/Entities.md[Entities].
  * `migae.datastore.Keychain`  - migae representation of underlying `com.google.appengine.api.datastore.Key`.  A vector of Clojure keywords.  See link:doc/Keychains.md[Keychains].  (**Not yet implemented**)
  
  These are represented in migae as `entity-map` and `keychain`, respectively.
  
  