anchor.diff:  Generalized object serialization will be discussed later in this section, so for now the focus will be on the "graph"
   format. Unlike GraphML, GraphSON does not use an edge list format. It uses an adjacency list. In the adjacency list,
   each vertex is essentially a line in the file and the vertex line contains a list of all the edges associated with
  -that vertex. The GraphSON 2.0 representation looks like this for the Modern toy graph:
  +that vertex. The GraphSON 3.0 representation looks like this for the Modern toy graph:
   
   [source,json]
   ----
  
positive.code: {"id":{"@type":"g:Int32","@value":6},"label":"person","outE":{"created":[{"id":{"@type":"g:Int32","@value":12},"inV":{"@type":"g:Int32","@value":3},"properties":{"weight":{"@type":"g:Double","@value":0.2}}}]},"properties":{"name":[{"id":{"@type":"g:Int64","@value":10},"value":"peter"}],"age":[{"id":{"@type":"g:Int64","@value":11},"value":{"@type":"g:Int32","@value":35}}]}}
  ----
  
  At a glance, one can see that this is not a valid JSON document. While that may seem incorrect, there is a reason. The
  "graph" format is designed by default to be splittable, such that distributed systems like Spark can easily divide the
  a GraphSON file for processing. If this data were represented as an "array of vertices" with square brackets at the
  beginning and end of the file, the format would be less conducive to fit that purpose. It is possible to change this
  behavior by building the `GraphSONWriter` with the `wrapAdjacencyList` setting set to `true`, in which case the output
  will be a valid JSON document that looks like this:
  
negative.code: [[graphson-3d0]]
  == Version 3.0
  
  Version 3.0 of GraphSON was first introduced on TinkerPop 3.3.0 and is the default format when not specified as of this
  version. It is quite similar to GraphSON 2.0 and in most cases will appear compatible to the eye, however there are
  some critical differences:
  
  * GraphSON 3.0 does not have an option to be typeless. Types are always embedded.
  * GraphSON 2.0 relied on JSON data types for collections like `Map` and `List`. In GraphSON 3.0, there is explicit
  typed support for `Map`, `List` and `Set` as Gremlin relies on those types in quite specific ways that are not
  directly compatible with the JSON definitions of those collections. In the case of `List` and `Set`, it was important
  to distinguish between the two and for `Map` it was necessary to have the ability to return `Map` instances that did
  not have `String` keys (e.g. `g.V().out().groupCount()`).
  
  === Core
  
  