anchor.diff:  g.V().out('knows').aggregate().by('name')
   ----
   
  +[[as-step]]
  +As Step
  +~~~~~~~
  +
  +The `as()`-step is not a real step, but a "step modulator" similar to <<by-step,`by()`>> and <<option-step,`option()`>>. With `as()`, it is possible to provide a label to the step that can later be accessed by steps and data structures that make use of such labels -- e.g., <<select-step,`select()`>>, <<match-step,`match()`>>, and path.
  +
  +[gremlin-groovy,modern]
  +----
  +g.V().as('a').out('created').as('b').select()            <1>
  +g.V().as('a').out('created').as('b').select().by('name') <2>
  +----
  +
  +<1> Select the objects labeled "a" and "b" from the path.
  +<2> Select the objects labeled "a" and "b" from the path and, for each object, project its name value.
  +
   [[back-step]]
   Back Step
   ~~~~~~~~~
  
positive.code: g.V().out().out().as('x').back('x') // pointless
  ----
  
  [[count-step]]
  Count Step
  ~~~~~~~~~~
  
negative.code:         option('josh', values('name')).
          option('vadas', valueMap()).
          option('peter', label())
  ----
  
  The `choose()`-step can leverage the `Pick.none` option match. For anything that does not match a specified option, the `none`-option is taken.
  
  [gremlin-groovy,modern]
  ----
  g.V().has(label,'person').
        choose(values('name')).
          option('marko', values('age')).
          option(none, values('name'))
  ----
  
  [[coin-step]]
  