You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2021/01/29 18:08:41 UTC

[tinkerpop] 01/01: TINKERPOP-2452 Added DotNetTranslator

This is an automated email from the ASF dual-hosted git repository.

spmallette pushed a commit to branch TINKERPOP-2452
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit b525cd885cd69b92f1a8b82c07d43b22d204f598
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Fri Jan 29 13:07:32 2021 -0500

    TINKERPOP-2452 Added DotNetTranslator
---
 ...scriptTranslator.java => DotNetTranslator.java} | 172 ++++--
 .../traversal/translator/GroovyTranslator.java     |   3 -
 .../traversal/translator/JavascriptTranslator.java |   4 +-
 ...anslatorTest.java => DotNetTranslatorTest.java} |  98 ++-
 .../translator/JavascriptTranslatorTest.java       |   4 +-
 gremlin-dotnet/build/generate.groovy               | 161 +++++
 .../Gherkin/CommonSteps.cs                         |  12 +-
 .../Gherkin/GherkinTestRunner.cs                   |   9 +-
 .../Gherkin/ScenarioData.cs                        |   3 +
 .../Gherkin/TraversalEvaluation/Gremlin.cs         | 684 +++++++++++++++++++++
 gremlin-dotnet/test/pom.xml                        |  18 +
 .../gremlin-javascript/test/cucumber/gremlin.js    | 326 +++++-----
 gremlin-python/src/main/python/radish/gremlin.py   | 326 +++++-----
 gremlin-test/features/branch/Branch.feature        |  20 +-
 gremlin-test/features/branch/Choose.feature        |  30 +-
 gremlin-test/features/branch/Local.feature         |  20 +-
 gremlin-test/features/branch/Optional.feature      |  12 +-
 gremlin-test/features/branch/Repeat.feature        |  32 +-
 gremlin-test/features/branch/Union.feature         |  22 +-
 gremlin-test/features/filter/CyclicPath.feature    |  12 +-
 gremlin-test/features/filter/Dedup.feature         |   4 +-
 gremlin-test/features/filter/Filter.feature        |  42 +-
 gremlin-test/features/filter/Has.feature           | 104 ++--
 gremlin-test/features/filter/Range.feature         |  20 +-
 gremlin-test/features/filter/SimplePath.feature    |   4 +-
 gremlin-test/features/filter/Where.feature         |  38 +-
 gremlin-test/features/map/AddEdge.feature          | 170 ++---
 gremlin-test/features/map/AddVertex.feature        |   4 +-
 gremlin-test/features/map/Coalesce.feature         |   8 +-
 gremlin-test/features/map/ElementMap.feature       |   4 +-
 gremlin-test/features/map/Graph.feature            |  32 +-
 gremlin-test/features/map/Loops.feature            |  12 +-
 gremlin-test/features/map/Map.feature              |  24 +-
 gremlin-test/features/map/Math.feature             |   4 +-
 gremlin-test/features/map/Min.feature              |   4 +-
 gremlin-test/features/map/Order.feature            |  16 +-
 gremlin-test/features/map/Path.feature             |  12 +-
 gremlin-test/features/map/Select.feature           |  72 +--
 gremlin-test/features/map/Unfold.feature           |  10 +-
 gremlin-test/features/map/ValueMap.feature         |   8 +-
 gremlin-test/features/map/Vertex.feature           | 114 ++--
 gremlin-test/features/sideEffect/Aggregate.feature |   4 +-
 gremlin-test/features/sideEffect/Group.feature     |   4 +-
 gremlin-test/features/sideEffect/Inject.feature    |  18 +-
 gremlin-test/features/sideEffect/Sack.feature      |   8 +-
 gremlin-test/features/sideEffect/Store.feature     |   4 +-
 46 files changed, 1847 insertions(+), 865 deletions(-)

diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/DotNetTranslator.java
similarity index 58%
copy from gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslator.java
copy to gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/DotNetTranslator.java
index b612c0c..377d6dc 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/DotNetTranslator.java
@@ -28,23 +28,27 @@ import org.apache.tinkerpop.gremlin.process.traversal.Script;
 import org.apache.tinkerpop.gremlin.process.traversal.TextP;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.TraversalStrategyProxy;
 import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP;
 import org.apache.tinkerpop.gremlin.process.traversal.util.OrP;
+import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 import org.apache.tinkerpop.gremlin.structure.util.StringFactory;
 import org.apache.tinkerpop.gremlin.util.function.Lambda;
 
 import java.sql.Timestamp;
-import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
 import java.util.UUID;
 import java.util.function.BinaryOperator;
@@ -52,16 +56,16 @@ import java.util.function.Supplier;
 import java.util.function.UnaryOperator;
 
 /**
- * Converts bytecode to a Javascript string of Gremlin.
+ * Converts bytecode to a C# string of Gremlin.
  *
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
-public final class JavascriptTranslator implements Translator.ScriptTranslator {
+public final class DotNetTranslator implements Translator.ScriptTranslator {
 
     private final String traversalSource;
     private final TypeTranslator typeTranslator;
 
-    private JavascriptTranslator(final String traversalSource, final TypeTranslator typeTranslator) {
+    private DotNetTranslator(final String traversalSource, final TypeTranslator typeTranslator) {
         this.traversalSource = traversalSource;
         this.typeTranslator = typeTranslator;
     }
@@ -70,7 +74,7 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
      * Creates the translator with a {@code false} argument to {@code withParameters} using
      * {@link #of(String, boolean)}.
      */
-    public static JavascriptTranslator of(final String traversalSource) {
+    public static DotNetTranslator of(final String traversalSource) {
         return of(traversalSource, false);
     }
 
@@ -79,15 +83,15 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
      * which will handle type translation in a fashion that should typically increase cache hits and reduce
      * compilation times if enabled at the sacrifice to rewriting of the script that could reduce readability.
      */
-    public static JavascriptTranslator of(final String traversalSource, final boolean withParameters) {
+    public static DotNetTranslator of(final String traversalSource, final boolean withParameters) {
         return of(traversalSource, new DefaultTypeTranslator(withParameters));
     }
 
     /**
      * Creates the translator with a custom {@link TypeTranslator} instance.
      */
-    public static JavascriptTranslator of(final String traversalSource, final TypeTranslator typeTranslator) {
-        return new JavascriptTranslator(traversalSource, typeTranslator);
+    public static DotNetTranslator of(final String traversalSource, final TypeTranslator typeTranslator) {
+        return new DotNetTranslator(traversalSource, typeTranslator);
     }
 
     @Override
@@ -97,7 +101,7 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
 
     @Override
     public String getTargetLanguage() {
-        return "gremlin-javascript";
+        return "gremlin-dotnet";
     }
 
     @Override
@@ -111,7 +115,7 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
     }
 
     /**
-     * Performs standard type translation for the TinkerPop types to Javascript.
+     * Performs standard type translation for the TinkerPop types to C#.
      */
     public static class DefaultTypeTranslator extends AbstractTypeTranslator {
 
@@ -126,8 +130,7 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
 
         @Override
         protected String getSyntax(final String o) {
-            return (o.contains("\"") ? "\"\"\"" + StringEscapeUtils.escapeJava(o) + "\"\"\"" : "\"" + StringEscapeUtils.escapeJava(o) + "\"")
-                    .replace("$", "\\$");
+            return "\"" + StringEscapeUtils.escapeJava(o) + "\"";
         }
 
         @Override
@@ -137,17 +140,17 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
 
         @Override
         protected String getSyntax(final Date o) {
-            return "new Date(" + o.getTime() + ")";
+            return "DateTimeOffset.FromUnixTimeMillisecond(" + o.getTime() + ")";
         }
 
         @Override
         protected String getSyntax(final Timestamp o) {
-            return "new Date(" + o.getTime() + ")";
+            return "DateTimeOffset.FromUnixTimeMillisecond(" + o.getTime() + ")";
         }
 
         @Override
         protected String getSyntax(final UUID o) {
-            return "'" + o.toString() + "'";
+            return "new Guid(\"" + o.toString() + "\")";
         }
 
         @Override
@@ -157,17 +160,17 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
 
         @Override
         protected String getSyntax(final SackFunctions.Barrier o) {
-            return "Barrier." + o.toString();
+            return "Barrier." + SymbolHelper.toCSharp(o.toString());
         }
 
         @Override
         protected String getSyntax(final VertexProperty.Cardinality o) {
-            return "Cardinality." + o.toString();
+            return "Cardinality." + SymbolHelper.toCSharp(o.toString());
         }
 
         @Override
         protected String getSyntax(final TraversalOptionParent.Pick o) {
-            return "Pick." + o.toString();
+            return "Pick." + SymbolHelper.toCSharp(o.toString());
         }
 
         @Override
@@ -177,13 +180,23 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
 
         @Override
         protected Script produceScript(final Set<?> o) {
-            return produceScript(new ArrayList<>(o));
+            final Iterator<?> iterator = ((List<?>) o).iterator();
+            script.append("new HashSet<object> {");
+
+            while (iterator.hasNext()) {
+                final Object nextItem = iterator.next();
+                convertToScript(nextItem);
+                if (iterator.hasNext())
+                    script.append(",").append(" ");
+            }
+
+            return script.append("}");
         }
 
         @Override
         protected Script produceScript(final List<?> o) {
             final Iterator<?> iterator = ((List<?>) o).iterator();
-            script.append("[");
+            script.append("new List<object> {");
 
             while (iterator.hasNext()) {
                 final Object nextItem = iterator.next();
@@ -192,24 +205,24 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
                     script.append(",").append(" ");
             }
 
-            return script.append("]");
+            return script.append("}");
         }
 
         @Override
         protected Script produceScript(final Map<?, ?> o) {
-            script.append("new Map([");
+            script.append("new Dictionary<object,object> {");
             final Iterator<? extends Map.Entry<?, ?>> itty = ((Map<?, ?>) o).entrySet().iterator();
             while (itty.hasNext()) {
                 final Map.Entry<?,?> entry = itty.next();
-                script.append("[");
+                script.append("{");
                 convertToScript(entry.getKey());
                 script.append(",");
                 convertToScript(entry.getValue());
-                script.append("]");
+                script.append("}");
                 if (itty.hasNext())
                     script.append(",");
             }
-            return script.append("])");
+            return script.append("}");
         }
 
         @Override
@@ -219,7 +232,10 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
 
         @Override
         protected Script produceScript(final Enum<?> o) {
-            return script.append(o.getDeclaringClass().getSimpleName() + "." + o.toString());
+            final String e = o instanceof Direction || o instanceof T ?
+                    o.name().substring(0,1).toUpperCase() + o.name().substring(1).toLowerCase() :
+                    o.name().substring(0,1).toUpperCase() + o.name().substring(1);
+            return script.append(o.getDeclaringClass().getSimpleName() + "." + e);
         }
 
         @Override
@@ -228,24 +244,24 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
             convertToScript(o.id());
             script.append(",");
             convertToScript(o.label());
-            return script.append(", null)");
+            return script.append(")");
         }
 
         @Override
         protected Script produceScript(final Edge o) {
             script.append("new Edge(");
             convertToScript(o.id());
-            script.append(", Vertex(");
+            script.append(", new Vertex(");
             convertToScript(o.outVertex().id());
             script.append(",");
             convertToScript(o.outVertex().label());
-            script.append(", null),");
+            script.append("),");
             convertToScript(o.label());
-            script.append(", Vertex(");
+            script.append(", new Vertex(");
             convertToScript(o.inVertex().id());
             script.append(",");
             convertToScript(o.inVertex().label());
-            return script.append(",null),null)");
+            return script.append("))");
         }
 
         @Override
@@ -265,8 +281,25 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
             if (o.getConfiguration().isEmpty()) {
                 return script.append("new " + o.getStrategyClass().getSimpleName() + "()");
             } else {
-                script.append("new " + o.getStrategyClass().getSimpleName() + "(");
-                convertToScript(ConfigurationConverter.getMap(o.getConfiguration()));
+                script.append("new " + o.getStrategyClass().getSimpleName() + "(configuration: ");
+
+                // TODO: copy/paste of map conversion code basically.
+                // convertToScript(ConfigurationConverter.getMap(o.getConfiguration()));
+                // need a <string,dynamic> here for strategy construction
+                script.append("new Dictionary<string,dynamic> {");
+                final Iterator<? extends Map.Entry<?, ?>> itty = ((Map<?, ?>) ConfigurationConverter.getMap(o.getConfiguration())).entrySet().iterator();
+                while (itty.hasNext()) {
+                    final Map.Entry<?,?> entry = itty.next();
+                    script.append("{");
+                    convertToScript(entry.getKey());
+                    script.append(",");
+                    convertToScript(entry.getValue());
+                    script.append("}");
+                    if (itty.hasNext())
+                        script.append(",");
+                }
+                script.append("}");
+
                 return script.append(")");
             }
         }
@@ -276,10 +309,19 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
             script.append(traversalSource);
             for (final Bytecode.Instruction instruction : o.getInstructions()) {
                 final String methodName = instruction.getOperator();
+                // TODO: perhaps too many if/then conditions for specifying generics.
+                // TODO: seems like single step anonymous traversals need the generic - all this too hardcoded
                 if (0 == instruction.getArguments().length) {
-                    script.append(".").append(resolveSymbol(methodName)).append("()");
+                    if (methodName.equals("fold") && o.getSourceInstructions().size() + o.getStepInstructions().size() > 1)
+                        script.append(".").append(resolveSymbol(methodName).replace("<object>", "")).append("()");
+                    else
+                        script.append(".").append(resolveSymbol(methodName)).append("()");
                 } else {
-                    script.append(".").append(resolveSymbol(methodName)).append("(");
+                    if (methodName.equals("groupCount") || methodName.equals("group") || methodName.equals("sack") ||
+                            (methodName.equals("inject") && Arrays.stream(instruction.getArguments()).noneMatch(Objects::isNull)))
+                        script.append(".").append(resolveSymbol(methodName).replace("<object>", "").replace("<object,object>", "")).append("(");
+                    else
+                        script.append(".").append(resolveSymbol(methodName)).append("(");
 
                     // have to special case withSack() for Groovy because UnaryOperator and BinaryOperator signatures
                     // make it impossible for the interpreter to figure out which function to call. specifically we need
@@ -304,6 +346,9 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
                         script.append(",");
                     } else {
                         for (final Object object : instruction.getArguments()) {
+                            // TODO: trouble with overloads on addV() and null - general issue
+                            if (null == object && methodName.equals("addV"))
+                                script.append("(string) ");
                             convertToScript(object);
                             script.append(",");
                         }
@@ -317,18 +362,18 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
         @Override
         protected Script produceScript(final P<?> p) {
             if (p instanceof TextP) {
-                script.append("TextP.").append(p.getBiPredicate().toString()).append("(");
+                script.append("TextP.").append(SymbolHelper.toCSharp(p.getBiPredicate().toString())).append("(");
                 convertToScript(p.getValue());
             } else if (p instanceof ConnectiveP) {
                 final List<P<?>> list = ((ConnectiveP) p).getPredicates();
                 for (int i = 0; i < list.size(); i++) {
                     produceScript(list.get(i));
                     if (i < list.size() - 1) {
-                        script.append(p instanceof OrP ? ".or(" : ".and(");
+                        script.append(p instanceof OrP ? ".Or(" : ".And(");
                     }
                 }
             } else {
-                script.append("P.").append(p.getBiPredicate().toString()).append("(");
+                script.append("P.").append(SymbolHelper.toCSharp(p.getBiPredicate().toString())).append("(");
                 convertToScript(p.getValue());
             }
             script.append(")");
@@ -336,33 +381,64 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
         }
 
         protected String resolveSymbol(final String methodName) {
-            return SymbolHelper.toJavascript(methodName);
+            return SymbolHelper.toCSharp(methodName);
         }
     }
 
     static final class SymbolHelper {
 
-        private final static Map<String, String> TO_JS_MAP = new HashMap<>();
-        private final static Map<String, String> FROM_JS_MAP = new HashMap<>();
+        private final static Map<String, String> TO_CS_MAP = new HashMap<>();
+        private final static Map<String, String> FROM_CS_MAP = new HashMap<>();
 
         static {
-            TO_JS_MAP.put("from", "from_");
-            TO_JS_MAP.put("in", "in_");
-            TO_JS_MAP.put("with", "with_");
+            TO_CS_MAP.put(GraphTraversal.Symbols.branch, "Branch<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.cap, "Cap<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.choose, "Choose<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.coalesce, "Coalesce<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.constant, "Constant<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.elementMap, "ElementMap<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.flatMap, "FlatMap<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.fold, "Fold<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.group, "Group<object,object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.groupCount, "GroupCount<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.index, "Index<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.inject, "Inject<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.io, "Io<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.limit, "Limit<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.local, "Local<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.match, "Match<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.map, "Map<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.max, "Max<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.min, "Min<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.mean, "Mean<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.optional, "Optional<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.project, "Project<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.properties, "Properties<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.range, "Range<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.sack, "Sack<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.select, "Select<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.skip, "Skip<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.sum, "Sum<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.tail, "Tail<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.unfold, "Unfold<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.union, "Union<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.value, "Value<object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.valueMap, "ValueMap<object,object>");
+            TO_CS_MAP.put(GraphTraversal.Symbols.values, "Values<object>");
             //
-            TO_JS_MAP.forEach((k, v) -> FROM_JS_MAP.put(v, k));
+            TO_CS_MAP.forEach((k, v) -> FROM_CS_MAP.put(v, k));
         }
 
         private SymbolHelper() {
             // static methods only, do not instantiate
         }
 
-        public static String toJavascript(final String symbol) {
-            return TO_JS_MAP.getOrDefault(symbol, symbol);
+        public static String toCSharp(final String symbol) {
+            return TO_CS_MAP.getOrDefault(symbol, symbol.substring(0,1).toUpperCase() + symbol.substring(1));
         }
 
         public static String toJava(final String symbol) {
-            return FROM_JS_MAP.getOrDefault(symbol, symbol);
+            return FROM_CS_MAP.getOrDefault(symbol, symbol.substring(0,1).toLowerCase() + symbol.substring(1));
         }
 
     }
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/GroovyTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/GroovyTranslator.java
index 3a1ec42..741f034 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/GroovyTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/GroovyTranslator.java
@@ -28,9 +28,6 @@ import org.apache.tinkerpop.gremlin.process.traversal.SackFunctions;
 import org.apache.tinkerpop.gremlin.process.traversal.Script;
 import org.apache.tinkerpop.gremlin.process.traversal.TextP;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
-import org.apache.tinkerpop.gremlin.process.traversal.Traversal;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalStrategy;
-import org.apache.tinkerpop.gremlin.process.traversal.TraversalSource;
 import org.apache.tinkerpop.gremlin.process.traversal.step.TraversalOptionParent;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.TraversalStrategyProxy;
 import org.apache.tinkerpop.gremlin.process.traversal.util.ConnectiveP;
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslator.java
index b612c0c..b4c47a9 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslator.java
@@ -235,13 +235,13 @@ public final class JavascriptTranslator implements Translator.ScriptTranslator {
         protected Script produceScript(final Edge o) {
             script.append("new Edge(");
             convertToScript(o.id());
-            script.append(", Vertex(");
+            script.append(", new Vertex(");
             convertToScript(o.outVertex().id());
             script.append(",");
             convertToScript(o.outVertex().label());
             script.append(", null),");
             convertToScript(o.label());
-            script.append(", Vertex(");
+            script.append(", new Vertex(");
             convertToScript(o.inVertex().id());
             script.append(",");
             convertToScript(o.inVertex().label());
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslatorTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/DotNetTranslatorTest.java
similarity index 62%
copy from gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslatorTest.java
copy to gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/DotNetTranslatorTest.java
index 46ed2e3..17dc149 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslatorTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/DotNetTranslatorTest.java
@@ -24,11 +24,13 @@ import org.apache.tinkerpop.gremlin.process.traversal.Pop;
 import org.apache.tinkerpop.gremlin.process.traversal.Scope;
 import org.apache.tinkerpop.gremlin.process.traversal.Translator;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
+import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
 import org.apache.tinkerpop.gremlin.structure.Column;
 import org.apache.tinkerpop.gremlin.structure.Direction;
 import org.apache.tinkerpop.gremlin.structure.Edge;
+import org.apache.tinkerpop.gremlin.structure.T;
 import org.apache.tinkerpop.gremlin.structure.Vertex;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge;
 import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
@@ -42,20 +44,21 @@ import java.util.LinkedHashMap;
 import java.util.UUID;
 
 import static org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource.traversal;
+import static org.apache.tinkerpop.gremlin.process.traversal.Order.asc;
 import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
 import static org.junit.Assert.assertEquals;
 
 /**
  * @author Stephen Mallette (http://stephen.genoprime.com)
  */
-public class JavascriptTranslatorTest {
+public class DotNetTranslatorTest {
     private static final GraphTraversalSource g = traversal().withEmbedded(EmptyGraph.instance());
-    private static final Translator.ScriptTranslator translator = JavascriptTranslator.of("g");
+    private static final Translator.ScriptTranslator translator = DotNetTranslator.of("g");
 
     @Test
     public void shouldTranslateStrategies() throws Exception {
-        assertEquals("g.withStrategies(new ReadOnlyStrategy()," +
-                        "new SubgraphStrategy(new Map([[\"checkAdjacentVertices\",false],[\"vertices\",__.hasLabel(\"person\")]]))).V().has(\"name\")",
+        assertEquals("g.WithStrategies(new ReadOnlyStrategy()," +
+                        "new SubgraphStrategy(configuration: new Dictionary<string,dynamic> {{\"checkAdjacentVertices\",false},{\"vertices\",__.HasLabel(\"person\")}})).V().Has(\"name\")",
                 translator.translate(g.withStrategies(ReadOnlyStrategy.instance(),
                         SubgraphStrategy.build().checkAdjacentVertices(false).vertices(hasLabel("person")).create()).
                         V().has("name").asAdmin().getBytecode()).getScript());
@@ -67,7 +70,37 @@ public class JavascriptTranslatorTest {
             put(3, "32");
             put(Arrays.asList(1, 2, 3.1d), 4);
         }}).asAdmin().getBytecode()).getScript();
-        assertEquals("g.V().id().is(new Map([[3,\"32\"],[[1, 2, 3.1],4]]))", script);
+        assertEquals("g.V().Id().Is(new Dictionary<object,object> {{3,\"32\"},{new List<object> {1, 2, 3.1},4}})", script);
+    }
+
+    @Test
+    public void shouldTranslateValues() {
+        final String script = translator.translate(g.V().values("name").asAdmin().getBytecode()).getScript();
+        assertEquals("g.V().Values<object>(\"name\")", script);
+    }
+
+    @Test
+    public void shouldTranslateValue() {
+        final String script = translator.translate(g.V().properties().order().by(T.value, asc).value().asAdmin().getBytecode()).getScript();
+        assertEquals("g.V().Properties<object>().Order().By(T.Value,Order.Asc).Value<object>()", script);
+    }
+
+    @Test
+    public void shouldTranslateInject() {
+        final String script = translator.translate(g.inject(10,20,null,20,10,10).asAdmin().getBytecode()).getScript();
+        assertEquals("g.Inject<object>(10,20,null,20,10,10)", script);
+    }
+
+    @Test
+    public void shouldTranslateGroup() {
+        final String script = translator.translate(g.V().group("x").group().by("name").asAdmin().getBytecode()).getScript();
+        assertEquals("g.V().Group(\"x\").Group<object,object>().By(\"name\")", script);
+    }
+
+    @Test
+    public void shouldTranslateGroupCount() {
+        final String script = translator.translate(g.V().groupCount("x").groupCount().by("name").asAdmin().getBytecode()).getScript();
+        assertEquals("g.V().GroupCount(\"x\").GroupCount<object>().By(\"name\")", script);
     }
 
     @Test
@@ -75,43 +108,43 @@ public class JavascriptTranslatorTest {
         final Calendar c = Calendar.getInstance();
         c.set(1975, Calendar.SEPTEMBER, 7);
         final Date d = c.getTime();
-        assertTranslation(String.format("new Date(%s)", d.getTime()), d);
+        assertTranslation(String.format("DateTimeOffset.FromUnixTimeMillisecond(%s)", d.getTime()), d);
     }
 
     @Test
     public void shouldTranslateUuid() {
         final UUID uuid = UUID.fromString("ffffffff-fd49-1e4b-0000-00000d4b8a1d");
-        assertTranslation(String.format("'%s'", uuid), uuid);
+        assertTranslation(String.format("new Guid(\"%s\")", uuid), uuid);
     }
 
     @Test
     public void shouldTranslateColumn() {
-        assertTranslation("Column.keys", Column.keys);
+        assertTranslation("Column.Keys", Column.keys);
     }
 
     @Test
     public void shouldTranslateDirection() {
-        assertTranslation("Direction.BOTH", Direction.BOTH);
+        assertTranslation("Direction.Both", Direction.BOTH);
     }
 
     @Test
     public void shouldTranslateOrder() {
-        assertTranslation("Order.desc", Order.desc);
+        assertTranslation("Order.Desc", Order.desc);
     }
 
     @Test
     public void shouldTranslatePop() {
-        assertTranslation("Pop.last", Pop.last);
+        assertTranslation("Pop.Last", Pop.last);
     }
 
     @Test
     public void shouldTranslateScope() {
-        assertTranslation("Scope.local", Scope.local);
+        assertTranslation("Scope.Local", Scope.local);
     }
 
     @Test
     public void shouldHaveValidToString() {
-        assertEquals("translator[h:gremlin-javascript]", JavascriptTranslator.of("h").toString());
+        assertEquals("translator[h:gremlin-dotnet]", DotNetTranslator.of("h").toString());
     }
 
     @Test
@@ -123,11 +156,11 @@ public class JavascriptTranslatorTest {
                 .property("special", "`~!@#$%^&*()-_=+[{]}\\|;:'\",<.>/?")
                 .asAdmin().getBytecode()).getScript();
 
-        assertEquals("g.addV(\"customer\")" +
-                        ".property(\"customer_id\",501)" +
-                        ".property(\"name\",\"Foo Bar\")" +
-                        ".property(\"age\",25)" +
-                        ".property(\"special\",\"\"\"`~!@#\\$%^&*()-_=+[{]}\\\\|;:'\\\",<.>/?\"\"\")",
+        assertEquals("g.AddV(\"customer\")" +
+                        ".Property(\"customer_id\",501)" +
+                        ".Property(\"name\",\"Foo Bar\")" +
+                        ".Property(\"age\",25)" +
+                        ".Property(\"special\",\"`~!@#$%^&*()-_=+[{]}\\\\|;:'\\\",<.>/?\")",
                 script);
     }
 
@@ -137,18 +170,18 @@ public class JavascriptTranslatorTest {
         final Vertex vertex1 = DetachedVertex.build().setLabel("customer").setId(id1)
                 .create();
         final String script1 = translator.translate(g.inject(vertex1).asAdmin().getBytecode()).getScript();
-        assertEquals("g.inject(new Vertex(" +
-                        "\"customer:10:foo bar \\$100#90\"," +
-                        "\"customer\", null))",
+        assertEquals("g.Inject(new Vertex(" +
+                        "\"customer:10:foo bar $100#90\"," +
+                        "\"customer\"))",
                 script1);
 
         final Object id2 = "user:20:foo\\u0020bar\\u005c\\u0022mr\\u005c\\u0022\\u00241000#50"; // user:20:foo\u0020bar\u005c\u0022mr\u005c\u0022\u00241000#50
         final Vertex vertex2 = DetachedVertex.build().setLabel("user").setId(id2)
                 .create();
         final String script2 = translator.translate(g.inject(vertex2).asAdmin().getBytecode()).getScript();
-        assertEquals("g.inject(new Vertex(" +
+        assertEquals("g.Inject(new Vertex(" +
                         "\"user:20:foo\\\\u0020bar\\\\u005c\\\\u0022mr\\\\u005c\\\\u0022\\\\u00241000#50\"," +
-                        "\"user\", null))",
+                        "\"user\"))",
                 script2);
 
         final Object id3 = "knows:30:foo\u0020bar\u0020\u0024100:\\u0020\\u0024500#70";
@@ -157,26 +190,25 @@ public class JavascriptTranslatorTest {
                 .setInV((DetachedVertex) vertex2)
                 .create();
         final String script3 = translator.translate(g.inject(edge).asAdmin().getBytecode()).getScript();
-        assertEquals("g.inject(" +
-                        "new Edge(\"knows:30:foo bar \\$100:\\\\u0020\\\\u0024500#70\", " +
-                        "Vertex(\"customer:10:foo bar \\$100#90\",\"customer\", null)," +
+        assertEquals("g.Inject(" +
+                        "new Edge(\"knows:30:foo bar $100:\\\\u0020\\\\u0024500#70\", " +
+                        "new Vertex(\"customer:10:foo bar $100#90\",\"customer\")," +
                         "\"knows\", " +
-                        "Vertex(\"user:20:foo\\\\u0020bar\\\\u005c\\\\u0022mr\\\\u005c\\\\u0022\\\\u00241000#50\",\"user\",null)," +
-                        "null))",
+                        "new Vertex(\"user:20:foo\\\\u0020bar\\\\u005c\\\\u0022mr\\\\u005c\\\\u0022\\\\u00241000#50\",\"user\")))",
                 script3);
 
         final String script4 = translator.translate(
                 g.addE("knows").from(vertex1).to(vertex2).property("when", "2018/09/21")
                         .asAdmin().getBytecode()).getScript();
-        assertEquals("g.addE(\"knows\")" +
-                        ".from_(new Vertex(\"customer:10:foo bar \\$100#90\",\"customer\", null))" +
-                        ".to(new Vertex(\"user:20:foo\\\\u0020bar\\\\u005c\\\\u0022mr\\\\u005c\\\\u0022\\\\u00241000#50\",\"user\", null))" +
-                        ".property(\"when\",\"2018/09/21\")",
+        assertEquals("g.AddE(\"knows\")" +
+                        ".From(new Vertex(\"customer:10:foo bar $100#90\",\"customer\"))" +
+                        ".To(new Vertex(\"user:20:foo\\\\u0020bar\\\\u005c\\\\u0022mr\\\\u005c\\\\u0022\\\\u00241000#50\",\"user\"))" +
+                        ".Property(\"when\",\"2018/09/21\")",
                 script4);
     }
 
     private void assertTranslation(final String expectedTranslation, final Object... objs) {
         final String script = translator.translate(g.inject(objs).asAdmin().getBytecode()).getScript();
-        assertEquals(String.format("g.inject(%s)", expectedTranslation), script);
+        assertEquals(String.format("g.Inject(%s)", expectedTranslation), script);
     }
 }
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslatorTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslatorTest.java
index 46ed2e3..5990418 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslatorTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/translator/JavascriptTranslatorTest.java
@@ -159,9 +159,9 @@ public class JavascriptTranslatorTest {
         final String script3 = translator.translate(g.inject(edge).asAdmin().getBytecode()).getScript();
         assertEquals("g.inject(" +
                         "new Edge(\"knows:30:foo bar \\$100:\\\\u0020\\\\u0024500#70\", " +
-                        "Vertex(\"customer:10:foo bar \\$100#90\",\"customer\", null)," +
+                        "new Vertex(\"customer:10:foo bar \\$100#90\",\"customer\", null)," +
                         "\"knows\", " +
-                        "Vertex(\"user:20:foo\\\\u0020bar\\\\u005c\\\\u0022mr\\\\u005c\\\\u0022\\\\u00241000#50\",\"user\",null)," +
+                        "new Vertex(\"user:20:foo\\\\u0020bar\\\\u005c\\\\u0022mr\\\\u005c\\\\u0022\\\\u00241000#50\",\"user\",null)," +
                         "null))",
                 script3);
 
diff --git a/gremlin-dotnet/build/generate.groovy b/gremlin-dotnet/build/generate.groovy
new file mode 100644
index 0000000..eebc8e2
--- /dev/null
+++ b/gremlin-dotnet/build/generate.groovy
@@ -0,0 +1,161 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph
+import org.apache.tinkerpop.gremlin.process.traversal.translator.DotNetTranslator
+import org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine
+import org.apache.tinkerpop.gremlin.groovy.jsr223.ast.VarAsBindingASTTransformation
+import org.apache.tinkerpop.gremlin.groovy.jsr223.ast.RepeatASTTransformationCustomizer
+import org.apache.tinkerpop.gremlin.groovy.jsr223.GroovyCustomizer
+import org.codehaus.groovy.control.customizers.CompilationCustomizer
+import org.apache.tinkerpop.gremlin.features.FeatureReader
+
+import javax.script.SimpleBindings
+
+import static org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource.traversal
+
+// file is overwritten on each generation
+radishGremlinFile = new File("${projectBaseDir}/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/Gremlin.cs")
+
+// assumes globally unique scenario names for keys with list of Gremlin traversals as they appear
+gremlins = FeatureReader.parse("${projectBaseDir}")
+
+gremlinGroovyScriptEngine = new GremlinGroovyScriptEngine(new GroovyCustomizer() {
+    public CompilationCustomizer create() {
+        return new RepeatASTTransformationCustomizer(new VarAsBindingASTTransformation())
+    }
+})
+translator = DotNetTranslator.of('g')
+g = traversal().withGraph(EmptyGraph.instance())
+bindings = new SimpleBindings()
+bindings.put('g', g)
+
+radishGremlinFile.withWriter('UTF-8') { Writer writer ->
+    writer.writeLine('#region License\n' +
+            '\n' +
+            '/*\n' +
+            ' * Licensed to the Apache Software Foundation (ASF) under one\n' +
+            ' * or more contributor license agreements.  See the NOTICE file\n' +
+            ' * distributed with this work for additional information\n' +
+            ' * regarding copyright ownership.  The ASF licenses this file\n' +
+            ' * to you under the Apache License, Version 2.0 (the\n' +
+            ' * "License"); you may not use this file except in compliance\n' +
+            ' * with the License.  You may obtain a copy of the License at\n' +
+            ' *\n' +
+            ' *     http://www.apache.org/licenses/LICENSE-2.0\n' +
+            ' *\n' +
+            ' * Unless required by applicable law or agreed to in writing,\n' +
+            ' * software distributed under the License is distributed on an\n' +
+            ' * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n' +
+            ' * KIND, either express or implied.  See the License for the\n' +
+            ' * specific language governing permissions and limitations\n' +
+            ' * under the License.\n' +
+            ' */\n' +
+            '\n' +
+            '#endregion\n')
+
+    writer.writeLine("\n\n//********************************************************************************")
+    writer.writeLine("//* Do NOT edit this file directly - generated by build/generate.groovy")
+    writer.writeLine("//********************************************************************************\n\n")
+
+    writer.writeLine('using System;\n' +
+                     'using System.Collections;\n' +
+                     'using System.Collections.Generic;\n' +
+                     'using System.Linq;\n' +
+                     'using Gremlin.Net.Structure;\n' +
+                     'using Gremlin.Net.Process.Traversal;\n' +
+                     'using Gremlin.Net.Process.Traversal.Strategy.Decoration;\n')
+    writer.writeLine('namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation\n' +
+            '{\n' +
+            '    public class Gremlin\n' +
+            '    {\n' +
+            '        public static readonly IDictionary<string, List<Func<GraphTraversalSource, IDictionary<string, object>,ITraversal>>> FixedTranslations = \n' +
+            '            new Dictionary<string, List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>>>\n' +
+            '            {')
+
+    gremlins.each { k,v ->
+        writer.write("               {\"")
+        writer.write(k)
+        writer.write("\", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {")
+        def collected = v.collect{
+            def t = gremlinGroovyScriptEngine.eval(it, bindings)
+            [t, t.bytecode.bindings.keySet()]
+        }
+
+        // requires 7 arguments as the lambda is defined as Func with 7 objects for parameters in addition to "g". use
+        // "vignore" for dummy variables
+        //def uniqueBindings = collected.collect{it[1]}.flatten().unique()
+        def gremlinItty = collected.iterator()
+        while (gremlinItty.hasNext()) {
+            def t = gremlinItty.next()[0]
+            writer.write("(g,p) =>")
+//            writer.write(", ")
+//            writer.write(uniqueBindings.join(", "))
+//            writer.write(") => ")
+            writer.write(translator.translate(t.bytecode).script.
+                    replace("initial", "p[\"initial\"]").
+                    replace("xx1", "p[\"xx1\"]").
+                    replace("xx2", "p[\"xx2\"]").
+                    replace("xx3", "p[\"xx3\"]").
+                    replace("vx", "p[\"vx\"]").
+                    replace("v1", "(Vertex) p[\"v1\"]").
+                    replace("v2", "(Vertex) p[\"v2\"]").
+                    replace("v3", "(Vertex) p[\"v3\"]").
+                    replace("v4", "(Vertex) p[\"v4\"]").
+                    replace("v5", "(Vertex) p[\"v5\"]").
+                    replace("v6", "(Vertex) p[\"v6\"]").
+                    replace("vid1", "p[\"vid1\"]").
+                    replace("vid2", "p[\"vid2\"]").
+                    replace("vid3", "p[\"vid3\"]").
+                    replace("vid4", "p[\"vid4\"]").
+                    replace("vid5", "p[\"vid5\"]").
+                    replace("vid6", "p[\"vid6\"]").
+                    replace("e7", "p[\"e7\"]").
+                    replace("e10", "p[\"e10\"]").
+                    replace("e11", "p[\"e11\"]").
+                    replace("eid7", "p[\"eid7\"]").
+                    replace("eid10", "p[\"eid10\"]").
+                    replace("eid11", "p[\"eid11\"]").
+                    replace("l1", "(IFunction) p[\"l1\"]").
+                    replace("l2", "(IFunction) p[\"l2\"]").
+                    replace("pred1", "(IPredicate) p[\"pred1\"]").
+                    replace("c1", "(IComparator) p[\"c1\"]").
+                    replace("c2", "(IComparator) p[\"c2\"]"))
+            if (gremlinItty.hasNext())
+                writer.write(', ')
+            else
+                writer.write("}")
+        }
+        writer.writeLine('}, ')
+    }
+    writer.writeLine('            };\n')
+
+    writer.writeLine(
+            '        public static ITraversal UseTraversal(string scenarioName, GraphTraversalSource g, IDictionary<string, object> parameters)\n' +
+            '        {\n' +
+            '            List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> list = FixedTranslations[scenarioName];\n' +
+            '            Func<GraphTraversalSource, IDictionary<string, object>, ITraversal> f = list[0];\n' +
+            '            list.RemoveAt(0);\n' +
+            '            return f.Invoke(g, parameters);\n' +
+            '        }\n' +
+            '    }\n' +
+            '}\n')
+}
+
+
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
index 3f11634..eb68ea9 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
@@ -112,13 +112,16 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             {
                 throw new InvalidOperationException("g should be a traversal source");
             }
-            _traversal = TraversalParser.GetTraversal(traversalText, _g, _parameters);
+            
+            _traversal =
+                TraversalEvaluation.Gremlin.UseTraversal(ScenarioData.CurrentScenario.Name, _g, _parameters);
         }
 
         [Given("the graph initializer of")]
         public void InitTraversal(string traversalText)
         {
-            var traversal = TraversalParser.GetTraversal(traversalText, _g, _parameters);
+            var traversal =
+                TraversalEvaluation.Gremlin.UseTraversal(ScenarioData.CurrentScenario.Name, _g, _parameters);
             traversal.Iterate();
             
             // We may have modified the so-called `empty` graph
@@ -226,7 +229,10 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             {
                 traversalText = traversalText.Substring(1, traversalText.Length - 2);
             }
-            var traversal = TraversalParser.GetTraversal(traversalText, _g, _parameters);
+            
+            var traversal =
+                TraversalEvaluation.Gremlin.UseTraversal(ScenarioData.CurrentScenario.Name, _g, _parameters);
+            
             var count = 0;
             while (traversal.MoveNext())
             {
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
index 2649e68..a2ecb1d 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/GherkinTestRunner.cs
@@ -41,8 +41,11 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             new Dictionary<string, IgnoreReason>
             {
                 // Add here the name of scenarios to ignore and the reason, e.g.:
-                { "g_V_group_byXageX", IgnoreReason.NullKeysInMapNotSupported }
-                //{ "g_V_properties_propertiesXstartTimeX_drop", IgnoreReason.NoReason },
+                { "g_V_group_byXageX", IgnoreReason.NullKeysInMapNotSupported },
+                { "g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum", IgnoreReason.NoReason },
+                { "g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack", IgnoreReason.NoReason },
+                { "g_withBulkXfalseX_withSackX1_sumX_VX1X_localXoutEXknowsX_barrierXnormSackX_inVX_inXknowsX_barrier_sack", IgnoreReason.NoReason },
+                { "g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack", IgnoreReason.NoReason },
             };
         
         private static class Keywords
@@ -110,6 +113,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                             throw new NotSupportedException(
                                 $"Step '{step.Text} not supported without a 'Given' step first");
                         }
+
+                        ScenarioData.CurrentScenario = scenario;
                         var result = ExecuteStep(stepDefinition, currentStep.Value, step);
                         if (result != null)
                         {
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
index 4a15178..041f439 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/ScenarioData.cs
@@ -25,6 +25,7 @@ using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.Linq;
+using Gherkin.Ast;
 using Gremlin.Net.Driver.Exceptions;
 using Gremlin.Net.IntegrationTest.Process.Traversal.DriverRemoteConnection;
 using Gremlin.Net.Process.Remote;
@@ -49,6 +50,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         
         private static readonly RemoteConnectionFactory ConnectionFactory = new RemoteConnectionFactory();
 
+        public static ScenarioDefinition CurrentScenario;
+
         public static ScenarioDataPerGraph GetByGraphName(string name)
         {
             if (name == null)
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/Gremlin.cs
new file mode 100644
index 0000000..c7fa31d
--- /dev/null
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/TraversalEvaluation/Gremlin.cs
@@ -0,0 +1,684 @@
+#region License
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+#endregion
+
+
+
+//********************************************************************************
+//* Do NOT edit this file directly - generated by build/generate.groovy
+//********************************************************************************
+
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using Gremlin.Net.Structure;
+using Gremlin.Net.Process.Traversal;
+using Gremlin.Net.Process.Traversal.Strategy.Decoration;
+
+namespace Gremlin.Net.IntegrationTest.Gherkin.TraversalEvaluation
+{
+    public class Gremlin
+    {
+        public static readonly IDictionary<string, List<Func<GraphTraversalSource, IDictionary<string, object>,ITraversal>>> FixedTranslations = 
+            new Dictionary<string, List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>>>
+            {
+               {"g_V_branchXlabel_eq_person__a_bX_optionXa__ageX_optionXb__langX_optionXb__nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Branch<object>((IFunction) p["l1"]).Option("a",__.Values<object>("age")).Option("b",__.Values<object>("lang")).Option("b",__.Values<object>("name"))}}, 
+               {"g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Branch<object>(__.Label().Is("person").Count()).Option(p["xx1"],__.Values<object>("age")).Option(p["xx2"],__.Values<object>("lang")).Option(p["xx2"],__.Values<object>("name"))}}, 
+               {"g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Branch<object>(__.Label().Is("person").Count()).Option(p["xx1"],__.Values<object>("age")).Option(p["xx2"],__.Values<object>("lang")).Option(p["xx2"],__.Values<object>("name")).Option(Pick.Any,__.Label())}}, 
+               {"g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Branch<object>(__.Values<object>("age")).Option(P.Lt(30),__.Constant<object>("young")).Option(P.Gt(30),__.Constant<object>("old")).Option(Pick.None,__.Constant<object>("on the edge"))}}, 
+               {"g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Branch<object>(__.Identity()).Option(__.HasLabel("software"),__.In("created").Values<object>("name").Order().Fold()).Option(__.Has("name","vadas"),__.Values<object>("age")).Option(P.Neq(123),__.BothE().Count())}}, 
+               {"g_V_chooseXout_countX_optionX2L_nameX_optionX3L_ageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.Out().Count()).Option(p["xx1"],__.Values<object>("name")).Option(p["xx2"],__.Values<object>("age"))}}, 
+               {"g_V_chooseXlabel_eqXpersonX__outXknowsX__inXcreatedXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>((IPredicate) p["pred1"],__.Out("knows"),__.In("created")).Values<object>("name")}}, 
+               {"g_V_chooseXhasLabelXpersonX_and_outXcreatedX__outXknowsX__identityX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.HasLabel("person").And().Out("created"),__.Out("knows"),__.Identity()).Values<object>("name")}}, 
+               {"g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.Label()).Option("blah",__.Out("knows")).Option("bleep",__.Out("created")).Option(Pick.None,__.Identity()).Values<object>("name")}}, 
+               {"g_V_chooseXoutXknowsX_count_isXgtX0XX__outXknowsXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.Out("knows").Count().Is(P.Gt(0)),__.Out("knows")).Values<object>("name")}}, 
+               {"g_V_hasLabelXpersonX_asXp1X_chooseXoutEXknowsX__outXknowsXX_asXp2X_selectXp1_p2X_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").As("p1").Choose<object>(__.OutE("knows"),__.Out("knows")).As("p2").Select<object>("p1","p2").By("name")}}, 
+               {"g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(p["xx1"],__.Constant<object>("young")).Option(Pick.None,__.Constant<object>("old")).GroupCount<object>()}}, 
+               {"g_injectX1X_chooseXisX1X__constantX10Xfold__foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject(p["xx2"]).Choose<object>(__.Is(p["xx2"]),__.Constant<object>(p["xx1"]).Fold(),__.Fold<object>())}}, 
+               {"g_injectX2X_chooseXisX1X__constantX10Xfold__foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject(p["xx3"]).Choose<object>(__.Is(p["xx2"]),__.Constant<object>(p["xx1"]).Fold(),__.Fold<object>())}}, 
+               {"g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.Properties<object>("location").Order().By(T.Value,Order.Asc).Range<object>(0,2)).Value<object>()}}, 
+               {"g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has(T.Label,"person").As("a").Local<object>(__.Out("created").As("b")).Select<object>("a","b").By("name").By(T.Id)}}, 
+               {"g_V_localXoutE_countX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.OutE().Count())}}, 
+               {"g_VX1X_localXoutEXknowsX_limitX1XX_inV_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Local<object>(__.OutE("knows").Limit<object>(1)).InV().Values<object>("name")}}, 
+               {"g_V_localXbothEXcreatedX_limitX1XX_otherV_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.BothE("created").Limit<object>(1)).OtherV().Values<object>("name")}}, 
+               {"g_VX4X_localXbothEX1_createdX_limitX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).Local<object>(__.BothE("created").Limit<object>(1))}}, 
+               {"g_VX4X_localXbothEXknows_createdX_limitX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).Local<object>(__.BothE("knows","created").Limit<object>(1))}}, 
+               {"g_VX4X_localXbothE_limitX1XX_otherV_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).Local<object>(__.BothE().Limit<object>(1)).OtherV().Values<object>("name")}}, 
+               {"g_VX4X_localXbothE_limitX2XX_otherV_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).Local<object>(__.BothE().Limit<object>(2)).OtherV().Values<object>("name")}}, 
+               {"g_V_localXinEXknowsX_limitX2XX_outV_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.InE("knows").Limit<object>(2)).OutV().Values<object>("name")}}, 
+               {"g_V_localXmatchXproject__created_person__person_name_nameX_selectXname_projectX_by_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.Match<object>(__.As("project").In("created").As("person"),__.As("person").Values<object>("name").As("name"))).Select<object>("name","project").By().By("name")}}, 
+               {"g_VX2X_optionalXoutXknowsXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).Optional<object>(__.Out("knows"))}}, 
+               {"g_VX2X_optionalXinXknowsXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).Optional<object>(__.In("knows"))}}, 
+               {"g_V_hasLabelXpersonX_optionalXoutXknowsX_optionalXoutXcreatedXXX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Optional<object>(__.Out("knows").Optional<object>(__.Out("created"))).Path()}}, 
+               {"g_V_optionalXout_optionalXoutXX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Optional<object>(__.Out().Optional<object>(__.Out())).Path()}}, 
+               {"g_VX1X_optionalXaddVXdogXX_label", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As("josh" [...]
+               {"g_V_repeatXoutX_timesX2X_emit_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(2).Emit().Path()}}, 
+               {"g_V_repeatXoutX_timesX2X_repeatXinX_timesX2X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(2).Repeat(__.In()).Times(2).Values<object>("name")}}, 
+               {"g_V_repeatXoutX_timesX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(2)}}, 
+               {"g_V_repeatXoutX_timesX2X_emit", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(2).Emit()}}, 
+               {"g_VX1X_timesX2X_repeatXoutX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Times(2).Repeat(__.Out()).Values<object>("name")}}, 
+               {"g_V_emit_timesX2X_repeatXoutX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Emit().Times(2).Repeat(__.Out()).Path()}}, 
+               {"g_V_emit_repeatXoutX_timesX2X_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Emit().Repeat(__.Out()).Times(2).Path()}}, 
+               {"g_VX1X_emitXhasXlabel_personXX_repeatXoutX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Emit(__.Has(T.Label,"person")).Repeat(__.Out()).Values<object>("name")}}, 
+               {"g_V_repeatXgroupCountXmX_byXnameX_outX_timesX2X_capXmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.GroupCount("m").By("name").Out()).Times(2).Cap<object>("m")}}, 
+               {"g_VX1X_repeatXgroupCountXmX_byXloopsX_outX_timesX3X_capXmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.GroupCount("m").By(__.Loops()).Out()).Times(3).Cap<object>("m")}}, 
+               {"g_V_repeatXbothX_timesX10X_asXaX_out_asXbX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both()).Times(10).As("a").Out().As("b").Select<object>("a","b").Count()}}, 
+               {"g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.Out()).Until(__.OutE().Count().Is(0)).Values<object>("name")}}, 
+               {"g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both()).Until((IPredicate) p["pred1"]).GroupCount<object>().By("name")}}, 
+               {"g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name","marko").Repeat(__.OutE().InV().SimplePath()).Until(__.Has("name","ripple")).Path().By("name").By(T.Label)}}, 
+               {"g_V_hasXloop_name_loopX_repeatXinX_timesX5X_path_by_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("loops","name","loop").Repeat(__.In()).Times(5).Path().By("name")}}, 
+               {"g_V_repeatXout_repeatXoutX_timesX1XX_timesX1X_limitX1X_path_by_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out().Repeat(__.Out()).Times(1)).Times(1).Limit<object>(1).Path().By("name")}}, 
+               {"g_V_repeatXoutXknowsXX_untilXrepeatXoutXcreatedXX_emitXhasXname_lopXXX_path_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out("knows")).Until(__.Repeat(__.Out("created")).Emit(__.Has("name","lop"))).Path().By("name")}}, 
+               {"g_V_repeatXrepeatXout_createdXX_untilXhasXname_rippleXXXemit_lang", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Repeat(__.Out("created")).Until(__.Has("name","ripple"))).Emit().Values<object>("lang")}}, 
+               {"g_V_untilXconstantXtrueXX_repeatXrepeatXout_createdXX_untilXhasXname_rippleXXXemit_lang", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Until(__.Constant<object>(true)).Repeat(__.Repeat(__.Out("created")).Until(__.Has("name","ripple"))).Emit().Values<object>("lang")}}, 
+               {"g_V_emit_repeatXa_outXknows_filterXloops_isX0XX_lang", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Emit().Repeat("a",__.Out("knows").Filter(__.Loops("a").Is(0))).Values<object>("lang")}}, 
+               {"g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsXX_emit_loopsXisX1Xdedup_values", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid3"]).Repeat(__.Both("created")).Until(__.Loops().Is(40)).Emit(__.Repeat(__.In("knows")).Emit(__.Loops().Is(1))).Dedup().Values<object>("name")}}, 
+               {"g_VX1X_repeatXrepeatXunionXout_uses_out_traversesXX_whereXloops_isX0X_timesX1X_timeX2X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.Repeat(__.Union<object>(__.Out("uses"),__.Out("traverses")).Where(__.Loops().Is(0))).Times(1)).Times(2).Values<object>("name")}}, 
+               {"g_V_repeatXa_outXknows_repeatXb_outXcreatedX_filterXloops_isX0XX_emit_lang", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat("a",__.Out("knows").Repeat("b",__.Out("created").Filter(__.Loops("a").Is(0))).Emit()).Emit().Values<object>("lang")}}, 
+               {"g_VX6X_repeatXa_bothXcreatedX_simplePathX_emitXrepeatXb_bothXknowsXX_untilXloopsXbX_asXb_whereXloopsXaX_asXbX_hasXname_vadasXX_dedup_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid6"]).Repeat("a",__.Both("created").SimplePath()).Emit(__.Repeat("b",__.Both("knows")).Until(__.Loops("b").As("b").Where(__.Loops("a").As("b"))).Has("name","vadas")).Dedup().Values<object>("name")}}, 
+               {"g_V_unionXout__inX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Union<object>(__.Out(),__.In()).Values<object>("name")}}, 
+               {"g_VX1X_unionXrepeatXoutX_timesX2X__outX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Union<object>(__.Repeat(__.Out()).Times(2),__.Out()).Values<object>("name")}}, 
+               {"g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.Label().Is("person"),__.Union<object>(__.Out().Values<object>("lang"),__.Out().Values<object>("name")),__.In().Label())}}, 
+               {"g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.Label().Is("person"),__.Union<object>(__.Out().Values<object>("lang"),__.Out().Values<object>("name")),__.In().Label()).GroupCount<object>()}}, 
+               {"g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Union<object>(__.Repeat(__.Union<object>(__.Out("created"),__.In("created"))).Times(2),__.Repeat(__.Union<object>(__.In("created"),__.Out("created"))).Times(2)).Label().GroupCount<object>()}}, 
+               {"g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"],p["vid2"]).Union<object>(__.OutE().Count(),__.InE().Count(),__.OutE().Values<object>("weight").Sum<object>())}}, 
+               {"g_VX1_2X_localXunionXoutE_count__inE_count__outE_weight_sumXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"],p["vid2"]).Local<object>(__.Union<object>(__.OutE().Count(),__.InE().Count(),__.OutE().Values<object>("weight").Sum<object>()))}}, 
+               {"g_VX1_2X_localXunionXcountXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"],p["vid2"]).Local<object>(__.Union<object>(__.Count()))}}, 
+               {"g_V_andXhasXage_gt_27X__outE_count_gte_2X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().And(__.Has("age",P.Gt(27)),__.OutE().Count().Is(P.Gte(2))).Values<object>("name")}}, 
+               {"g_V_andXoutE__hasXlabel_personX_and_hasXage_gte_32XX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().And(__.OutE(),__.Has(T.Label,"person").And().Has("age",P.Gte(32))).Values<object>("name")}}, 
+               {"g_V_asXaX_outXknowsX_and_outXcreatedX_inXcreatedX_asXaX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("knows").And().Out("created").In("created").As("a").Values<object>("name")}}, 
+               {"g_V_asXaX_andXselectXaX_selectXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").And(__.Select<object>("a"),__.Select<object>("a"))}}, 
+               {"g_V_hasXname_markoX_and_hasXname_markoX_and_hasXname_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name","marko").And().Has("name","marko").And().Has("name","marko")}}, 
+               {"g_V_coinX1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Coin(1.0)}}, 
+               {"g_V_coinX0X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Coin(0.0)}}, 
+               {"g_VX1X_outXcreatedX_inXcreatedX_cyclicPath", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("created").In("created").CyclicPath()}}, 
+               {"g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("created").In("created").CyclicPath().Path()}}, 
+               {"g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("created").As("b").In("created").As("c").CyclicPath().From("a").To("b").Path()}}, 
+               {"g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().In().Values<object>("name").Fold().Dedup(Scope.Local).Unfold<object>()}}, 
+               {"g_V_out_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().As("x").In().As("y").Select<object>("x","y").By("name").Fold().Dedup(Scope.Local,"x","y").Unfold<object>()}}, 
+               {"g_V_both_dedup_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Dedup().Values<object>("name")}}, 
+               {"g_V_both_hasXlabel_softwareX_dedup_byXlangX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Has(T.Label,"software").Dedup().By("lang").Values<object>("name")}}, 
+               {"g_V_both_name_order_byXa_bX_dedup_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Properties<object>("name").Order().By((IComparator) p["c1"]).Dedup().Value<object>()}}, 
+               {"g_V_both_both_name_dedup", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Both().Values<object>("name").Dedup()}}, 
+               {"g_V_both_both_dedup", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Both().Dedup()}}, 
+               {"g_V_both_both_dedup_byXlabelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Both().Dedup().By(T.Label)}}, 
+               {"g_V_group_byXlabelX_byXbothE_weight_dedup_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(T.Label).By(__.BothE().Values<object>("weight").Dedup().Fold())}}, 
+               {"g_V_asXaX_both_asXbX_dedupXa_bX_byXlabelX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Both().As("b").Dedup("a","b").By(T.Label).Select<object>("a","b")}}, 
+               {"g_V_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_dedupXa_bX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("created").As("b").In("created").As("c").Dedup("a","b").Path()}}, 
+               {"g_V_outE_asXeX_inV_asXvX_selectXeX_order_byXweight_ascX_selectXvX_valuesXnameX_dedup", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().As("e").InV().As("v").Select<object>("e").Order().By("weight",Order.Asc).Select<object>("v").Values<object>("name").Dedup()}}, 
+               {"g_V_both_both_dedup_byXoutE_countX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Both().Dedup().By(__.OutE().Count()).Values<object>("name")}}, 
+               {"g_V_groupCount_selectXvaluesX_unfold_dedup", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().GroupCount<object>().Select<object>(Column.Values).Unfold<object>().Dedup()}}, 
+               {"g_V_asXaX_repeatXbothX_timesX3X_emit_name_asXbX_group_byXselectXaXX_byXselectXbX_dedup_order_foldX_selectXvaluesX_unfold_dedup", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Repeat(__.Both()).Times(3).Emit().Values<object>("name").As("b").Group<object,object>().By(__.Select<object>("a")).By(__.Select<object>("b").Dedup().Order().Fold()).Select<object>(Column.Values).Unfold<object>().Dedup()}}, 
+               {"g_V_repeatXdedupX_timesX2X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Dedup()).Times(2).Count()}}, 
+               {"g_V_bothE_properties_dedup_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().BothE().Properties<object>().Dedup().Count()}}, 
+               {"g_V_both_properties_dedup_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Properties<object>().Dedup().Count()}}, 
+               {"g_V_both_properties_properties_dedup_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Properties<object>().Properties<object>().Dedup().Count()}}, 
+               {"g_V_drop", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().As("a").AddV().As("b").AddE("knows").To("a"), (g,p) =>g.V().Drop(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_V_outE_drop", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().As("a").AddV().As("b").AddE("knows").To("a"), (g,p) =>g.V().OutE().Drop(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_V_properties_drop", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().Property("name","bob").AddV().Property("name","alice"), (g,p) =>g.V().Properties<object>().Drop(), (g,p) =>g.V(), (g,p) =>g.V().Properties<object>()}}, 
+               {"g_E_propertiesXweightX_drop", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As("josh").Add [...]
+               {"g_V_properties_propertiesXstartTimeX_drop", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().Property("name","bob").Property(Cardinality.List,"location","ny","startTime",2014,"endTime",2016).Property(Cardinality.List,"location","va","startTime",2016).AddV().Property("name","alice").Property(Cardinality.List,"location","va","startTime",2014,"endTime",2016).Property(Cardinality.List,"location","ny","startTime",2016), (g,p) =>g [...]
+               {"g_V_filterXfalseX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Filter((IPredicate) p["pred1"])}}, 
+               {"g_V_filterXtrueX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Filter((IPredicate) p["pred1"])}}, 
+               {"g_V_filterXlang_eq_javaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Filter((IPredicate) p["pred1"])}}, 
+               {"g_VX1X_filterXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Filter((IPredicate) p["pred1"])}}, 
+               {"g_VX2X_filterXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).Filter((IPredicate) p["pred1"])}}, 
+               {"g_VX1X_out_filterXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Filter((IPredicate) p["pred1"])}}, 
+               {"g_V_filterXname_startsWith_m_OR_name_startsWith_pX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Filter((IPredicate) p["pred1"])}}, 
+               {"g_E_filterXfalseX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E().Filter((IPredicate) p["pred1"])}}, 
+               {"g_E_filterXtrueX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E().Filter((IPredicate) p["pred1"])}}, 
+               {"g_V_outXcreatedX_hasXname__mapXlengthX_isXgtX3XXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").Has("name",__.Map<object>((IFunction) p["l1"]).Is(P.Gt(3))).Values<object>("name")}}, 
+               {"g_VX1X_hasXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Has("name")}}, 
+               {"g_VX1X_hasXcircumferenceX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Has("circumference")}}, 
+               {"g_VX1X_hasXname_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Has("name","marko")}}, 
+               {"g_VX2X_hasXname_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Has("name","marko")}}, 
+               {"g_V_hasXname_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name","marko")}}, 
+               {"g_V_hasXname_blahX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name","blah")}}, 
+               {"g_V_hasXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age",P.Gt(30))}}, 
+               {"g_V_hasXage_isXgt_30XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age",__.Is(P.Gt(30)))}}, 
+               {"g_V_hasXlabel_isXsoftwareXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has(T.Label,__.Is("software"))}}, 
+               {"g_VX1X_hasXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Has("age",P.Gt(30))}}, 
+               {"g_VX4X_hasXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).Has("age",P.Gt(30))}}, 
+               {"g_VXv1X_hasXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V((Vertex) p["v1"]).Has("age",P.Gt(30))}}, 
+               {"g_VXv4X_hasXage_gt_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V((Vertex) p["v4"]).Has("age",P.Gt(30))}}, 
+               {"g_VX1X_out_hasXid_lt_3X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Has(T.Id,p["xx1"])}}, 
+               {"g_VX1AsStringX_out_hasXid_2AsStringX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().HasId(p["vid2"])}}, 
+               {"g_VX1X_out_hasXid_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V((Vertex) p["v2"]).Has("age",P.Gt(30))}}, 
+               {"g_VX1X_out_hasIdX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().HasId(p["vid2"])}}, 
+               {"g_VX1X_out_hasXid_2_3X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().HasId(p["vid2"],p["vid3"])}}, 
+               {"g_VX1X_out_hasXid_2AsString_3AsStringX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().HasId(p["vid2"],p["vid3"])}}, 
+               {"g_V_hasXblahX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("blah")}}, 
+               {"g_EX7X_hasXlabelXknowsX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid7"]).HasLabel("knows")}}, 
+               {"g_E_hasXlabelXknowsX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E().HasLabel("knows")}}, 
+               {"g_E_hasLabelXuses_traversesX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E().HasLabel("uses","traverses")}}, 
+               {"g_V_hasLabelXperson_software_blahX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person","software","blah")}}, 
+               {"g_V_hasXperson_name_markoX_age", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("person","name","marko").Values<object>("age")}}, 
+               {"g_VX1X_outE_hasXweight_inside_0_06X_inV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE().Has("weight",P.Gt(0.0).And(P.Lt(0.6))).InV()}}, 
+               {"g_EX11X_outV_outE_hasXid_10X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid11"]).OutV().OutE().Has(T.Id,p["eid10"])}}, 
+               {"g_EX11X_outV_outE_hasXid_10AsStringX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid11"]).OutV().OutE().Has(T.Id,p["eid10"])}}, 
+               {"g_V_hasXlocationX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("location")}}, 
+               {"g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Has("age",P.Gt(10).Or(P.Gte(11).And(P.Lt(20))).And(P.Lt(29).Or(P.Eq(35)))).Values<object>("name")}}, 
+               {"g_V_in_hasIdXneqX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().In().HasId(p["xx1"])}}, 
+               {"g_V_hasXage_withinX27X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age",P.Within(new List<object> {27})).Count()}}, 
+               {"g_V_hasXage_withinX27_29X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age",P.Within(new List<object> {27, 29})).Count()}}, 
+               {"g_V_hasXage_withoutX27X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age",P.Without(new List<object> {27})).Count()}}, 
+               {"g_V_hasXage_withoutX27_29X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age",P.Without(new List<object> {27, 29})).Count()}}, 
+               {"g_V_both_dedup_properties_hasKeyXageX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Properties<object>().Dedup().HasKey("age").Value<object>()}}, 
+               {"g_V_both_dedup_properties_hasKeyXageX_hasValueXgtX30XX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Properties<object>().Dedup().HasKey("age").HasValue(P.Gt(30)).Value<object>()}}, 
+               {"g_V_bothE_properties_dedup_hasKeyXweightX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().BothE().Properties<object>().Dedup().HasKey("weight").Value<object>()}}, 
+               {"g_V_bothE_properties_dedup_hasKeyXweightX_hasValueXltX0d3XX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().BothE().Properties<object>().Dedup().HasKey("weight").HasValue(P.Lt(0.3)).Value<object>()}}, 
+               {"g_V_hasNotXageX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasNot("age").Values<object>("name")}}, 
+               {"g_V_hasIdX1X_hasIdX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasId(p["vid1"]).HasId(p["vid2"])}}, 
+               {"g_V_hasLabelXpersonX_hasLabelXsoftwareX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").HasLabel("software")}}, 
+               {"g_V_hasIdXemptyX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasId(p["xx1"]).Count()}}, 
+               {"g_V_hasIdXwithinXemptyXX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasId(p["xx1"]).Count()}}, 
+               {"g_V_hasIdXwithoutXemptyXX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasId(p["xx1"]).Count()}}, 
+               {"g_V_notXhasIdXwithinXemptyXXX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Not(__.HasId(p["xx1"])).Count()}}, 
+               {"g_V_hasXname_containingXarkXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",TextP.Containing("ark"))}}, 
+               {"g_V_hasXname_startingWithXmarXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",TextP.StartingWith("mar"))}}, 
+               {"g_V_hasXname_endingWithXasXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",TextP.EndingWith("as"))}}, 
+               {"g_V_hasXperson_name_containingXoX_andXltXmXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("person","name",TextP.Containing("o").And(P.Lt("m")))}}, 
+               {"g_V_hasXname_gtXmX_andXcontainingXoXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",P.Gt("m").And(TextP.Containing("o")))}}, 
+               {"g_V_hasXname_not_containingXarkXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",TextP.NotContaining("ark"))}}, 
+               {"g_V_hasXname_not_startingWithXmarXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",TextP.NotStartingWith("mar"))}}, 
+               {"g_V_hasXname_not_endingWithXasXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",TextP.NotEndingWith("as"))}}, 
+               {"g_V_hasXp_neqXvXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("p",P.Neq("v"))}}, 
+               {"g_V_valuesXageX_isX32X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Is(32)}}, 
+               {"g_V_valuesXageX_isXlte_30X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Is(P.Lte(30))}}, 
+               {"g_V_valuesXageX_isXgte_29X_isXlt_34X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Is(P.Gte(29)).Is(P.Lt(34))}}, 
+               {"g_V_whereXinXcreatedX_count_isX1XX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Where(__.In("created").Count().Is(1)).Values<object>("name")}}, 
+               {"g_V_whereXinXcreatedX_count_isXgte_2XX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Where(__.In("created").Count().Is(P.Gte(2))).Values<object>("name")}}, 
+               {"g_V_orXhasXage_gt_27X__outE_count_gte_2X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Or(__.Has("age",P.Gt(27)),__.OutE().Count().Is(P.Gte(2))).Values<object>("name")}}, 
+               {"g_V_orXoutEXknowsX__hasXlabel_softwareX_or_hasXage_gte_35XX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Or(__.OutE("knows"),__.Has(T.Label,"software").Or().Has("age",P.Gte(35))).Values<object>("name")}}, 
+               {"g_V_asXaX_orXselectXaX_selectXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Or(__.Select<object>("a"),__.Select<object>("a"))}}, 
+               {"g_VX1X_out_limitX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Limit<object>(2)}}, 
+               {"g_V_localXoutE_limitX1X_inVX_limitX3X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.OutE().Limit<object>(1)).InV().Limit<object>(3)}}, 
+               {"g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("knows").OutE("created").Range<object>(0,1).InV()}}, 
+               {"g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("knows").Out("created").Range<object>(0,1)}}, 
+               {"g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("created").In("created").Range<object>(1,3)}}, 
+               {"g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("created").InE("created").Range<object>(1,3).OutV()}}, 
+               {"g_V_repeatXbothX_timesX3X_rangeX5_11X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both()).Times(3).Range<object>(5,11)}}, 
+               {"g_V_asXaX_in_asXbX_in_asXcX_selectXa_b_cX_byXnameX_limitXlocal_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").In().As("b").In().As("c").Select<object>("a","b","c").By("name").Limit<object>(Scope.Local,2)}}, 
+               {"g_V_asXaX_in_asXbX_in_asXcX_selectXa_b_cX_byXnameX_limitXlocal_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").In().As("b").In().As("c").Select<object>("a","b","c").By("name").Limit<object>(Scope.Local,1)}}, 
+               {"g_V_asXaX_out_asXbX_out_asXcX_selectXa_b_cX_byXnameX_rangeXlocal_1_3X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Out().As("c").Select<object>("a","b","c").By("name").Range<object>(Scope.Local,1,3)}}, 
+               {"g_V_asXaX_out_asXbX_out_asXcX_selectXa_b_cX_byXnameX_rangeXlocal_1_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Out().As("c").Select<object>("a","b","c").By("name").Range<object>(Scope.Local,1,2)}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_rangeXlocal_1_3X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Range<object>(Scope.Local,1,3)}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_rangeXlocal_1_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Range<object>(Scope.Local,1,2)}}, 
+               {"g_V_hasLabelXpersonX_order_byXageX_skipX1X_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Order().By("age").Skip<object>(1).Values<object>("name")}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_rangeXlocal_4_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Range<object>(Scope.Local,4,5)}}, 
+               {"g_V_outE_valuesXweightX_fold_orderXlocalX_skipXlocal_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Values<object>("weight").Fold().Order(Scope.Local).Skip<object>(Scope.Local,2)}}, 
+               {"g_V_asXaX_in_asXaX_in_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_limitXlocal_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").In().As("a").In().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Limit<object>(Scope.Local,1)}}, 
+               {"g_V_asXaX_in_asXaX_in_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_limitXlocal_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").In().As("a").In().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Limit<object>(Scope.Local,2)}}, 
+               {"g_V_hasLabelXpersonX_order_byXageX_valuesXnameX_skipX1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Order().By("age").Values<object>("name").Skip<object>(1)}}, 
+               {"g_E_sampleX1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E().Sample(1)}}, 
+               {"g_E_sampleX2X_byXweightX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E().Sample(2).By("weight")}}, 
+               {"g_V_localXoutE_sampleX1X_byXweightXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.OutE().Sample(1).By("weight"))}}, 
+               {"g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(T.Label).By(__.BothE().Values<object>("weight").Sample(2).Fold())}}, 
+               {"g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(T.Label).By(__.BothE().Values<object>("weight").Fold().Sample(Scope.Local,5))}}, 
+               {"g_VX1X_outXcreatedX_inXcreatedX_simplePath", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("created").In("created").SimplePath()}}, 
+               {"g_V_repeatXboth_simplePathX_timesX3X_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both().SimplePath()).Times(3).Path()}}, 
+               {"g_V_asXaX_out_asXbX_out_asXcX_simplePath_byXlabelX_fromXbX_toXcX_path_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Out().As("c").SimplePath().By(T.Label).From("b").To("c").Path().By("name")}}, 
+               {"g_V_valuesXnameX_order_tailXglobal_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().Tail<object>(Scope.Global,2)}}, 
+               {"g_V_valuesXnameX_order_tailX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().Tail<object>(2)}}, 
+               {"g_V_valuesXnameX_order_tail", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().Tail<object>()}}, 
+               {"g_V_valuesXnameX_order_tailX7X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().Tail<object>(7)}}, 
+               {"g_V_repeatXbothX_timesX3X_tailX7X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both()).Times(3).Tail<object>(7)}}, 
+               {"g_V_repeatXin_outX_timesX3X_tailX7X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.In().Out()).Times(3).Tail<object>(7).Count()}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocal_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>("a").By(__.Unfold<object>().Values<object>("name").Fold()).Tail<object>(Scope.Local,1)}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXaX_byXunfold_valuesXnameX_foldX_tailXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>("a").By(__.Unfold<object>().Values<object>("name").Fold()).Tail<object>(Scope.Local)}}, 
+               {"g_V_asXaX_out_asXbX_out_asXcX_selectXa_b_cX_byXnameX_tailXlocal_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Out().As("c").Select<object>("a","b","c").By("name").Tail<object>(Scope.Local,2)}}, 
+               {"g_V_asXaX_out_asXbX_out_asXcX_selectXa_b_cX_byXnameX_tailXlocal_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Out().As("c").Select<object>("a","b","c").By("name").Tail<object>(Scope.Local,1)}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_tailXlocal_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Tail<object>(Scope.Local,1)}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_tailXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Tail<object>(Scope.Local)}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXlimitXlocal_0XX_tailXlocal_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>(Pop.Mixed,"a").By(__.Limit<object>(Scope.Local,0)).Tail<object>(Scope.Local,1)}}, 
+               {"g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_tailXlocal_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("a").Out().As("a").Select<object>(Pop.Mixed,"a").By(__.Unfold<object>().Values<object>("name").Fold()).Tail<object>(Scope.Local,2)}}, 
+               {"g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_eqXbXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").As("a").Out().In().Has("age").As("b").Select<object>("a","b").Where("a",P.Eq("b"))}}, 
+               {"g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_neqXbXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").As("a").Out().In().Has("age").As("b").Select<object>("a","b").Where("a",P.Neq("b"))}}, 
+               {"g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").As("a").Out().In().Has("age").As("b").Select<object>("a","b").Where(__.As("b").Has("name","marko"))}}, 
+               {"g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").As("a").Out().In().Has("age").As("b").Select<object>("a","b").Where(__.As("a").Out("knows").As("b"))}}, 
+               {"g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("created").Where(__.As("a").Values<object>("name").Is("josh")).In("created").Values<object>("name")}}, 
+               {"g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a",p["initial"]).V(p["vid1"]).Out("created").In("created").Values<object>("name").Where(P.Within(new List<object> {"a"}))}}, 
+               {"g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("created").In("created").As("b").Where("a",P.Neq("b")).Values<object>("name")}}, 
+               {"g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("created").In("created").As("b").Where(__.As("b").Out("created").Has("name","ripple")).Values<object>("age","name")}}, 
+               {"g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("created").In("created").Where(P.Eq("a")).Values<object>("name")}}, 
+               {"g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("created").In("created").Where(P.Neq("a")).Values<object>("name")}}, 
+               {"g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Aggregate("x").Out().Where(P.Without(new List<object> {"x"}))}}, 
+               {"g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a",(Vertex) p["v2"]).V(p["vid1"]).Out().Where(P.Neq("a"))}}, 
+               {"g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.BothE("created").Where(P.Without(new List<object> {"e"})).Aggregate("e").OtherV()).Emit().Path()}}, 
+               {"g_V_whereXnotXoutXcreatedXXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Where(__.Not(__.Out("created"))).Values<object>("name")}}, 
+               {"g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Where(__.And(__.As("a").Out("knows").As("b"),__.Or(__.As("b").Out("created").Has("name","ripple"),__.As("b").In("knows").Count().Is(P.Neq(0))))).Select<object>("a","b")}}, 
+               {"g_V_whereXoutXcreatedX_and_outXknowsX_or_inXknowsXX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Where(__.Out("created").And().Out("knows").Or().In("knows")).Values<object>("name")}}, 
+               {"g_V_asXaX_outXcreatedX_asXbX_whereXandXasXbX_in__notXasXaX_outXcreatedX_hasXname_rippleXXX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("created").As("b").Where(__.And(__.As("b").In(),__.Not(__.As("a").Out("created").Has("name","ripple")))).Select<object>("a","b")}}, 
+               {"g_V_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_bothXknowsX_bothXknowsX_asXdX_whereXc__notXeqXaX_orXeqXdXXXX_selectXa_b_c_dX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("created").As("b").In("created").As("c").Both("knows").Both("knows").As("d").Where("c",P.Neq("a").And(P.Neq("d"))).Select<object>("a","b","c","d")}}, 
+               {"g_V_asXaX_out_asXbX_whereXin_count_isXeqX3XX_or_whereXoutXcreatedX_and_hasXlabel_personXXX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Where(__.As("b").In().Count().Is(P.Eq(3)).Or().Where(__.As("b").Out("created").And().As("b").Has(T.Label,"person"))).Select<object>("a","b")}}, 
+               {"g_V_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_gtXbXX_byXageX_selectXa_bX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("created").In("created").As("b").Where("a",P.Gt("b")).By("age").Select<object>("a","b").By("name")}}, 
+               {"g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").OutE("created").As("b").InV().As("c").Where("a",P.Gt("b").Or(P.Eq("b"))).By("age").By("weight").By("weight").Select<object>("a","c").By("name")}}, 
+               {"g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").OutE("created").As("b").InV().As("c").In("created").As("d").Where("a",P.Lt("b").Or(P.Gt("c")).And(P.Neq("d"))).By("age").By("weight").By(__.In("created").Values<object>("age").Min<object>()).Select<object>("a","c [...]
+               {"g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out().Has("age").Where(P.Gt("a")).By("age").Values<object>("name")}}, 
+               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age [...]
+               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","j [...]
+               {"g_V_outE_propertyXweight_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As("josh"). [...]
+               {"g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Pro [...]
+               {"g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("pers [...]
+               {"g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4 [...]
+               {"g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","jo [...]
+               {"g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().As("first").Repeat(__.AddE("next").To(__.AddV()).InV()).Times(5).AddE("next").To(__.Select<object>("first")), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.E().HasLabel("next"), (g,p) =>g.V().Limit<object>(1).BothE(), (g,p) =>g.V().Limit<object>(1).InE(), (g,p) =>g.V().Limit<object>(1).OutE()}}, 
+               {"g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Propert [...]
+               {"g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang"," [...]
+               {"g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("ag [...]
+               {"g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age", [...]
+               {"g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("na [...]
+               {"g_V_addVXanimalX_propertyXage_0X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As("josh" [...]
+               {"g_addVXpersonX_propertyXname_stephenX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As(" [...]
+               {"g_V_hasLabelXpersonX_propertyXname_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).A [...]
+               {"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property( [...]
+               {"get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T. [...]
+               {"g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Proper [...]
+               {"g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property [...]
+               {"g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh"). [...]
+               {"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4 [...]
+               {"g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Pro [...]
+               {"g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T. [...]
+               {"g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh"). [...]
+               {"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop [...]
+               {"g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property [...]
+               {"g_addVXnullX_propertyXid_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) null).Property(T.Id,null), (g,p) =>g.V().HasLabel("vertex")}}, 
+               {"g_addV_propertyXlabel_personX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().Property(T.Label,"person"), (g,p) =>g.V().HasLabel("person")}}, 
+               {"g_V_coalesceXoutXfooX_outXbarXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Coalesce<object>(__.Out("foo"),__.Out("bar"))}}, 
+               {"g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Coalesce<object>(__.Out("knows"),__.Out("created")).Values<object>("name")}}, 
+               {"g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Coalesce<object>(__.Out("created"),__.Out("knows")).Values<object>("name")}}, 
+               {"g_V_coalesceXoutXlikesX_outXknowsX_inXcreatedXX_groupCount_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Coalesce<object>(__.Out("likes"),__.Out("knows"),__.Out("created")).GroupCount<object>().By("name")}}, 
+               {"g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Coalesce<object>(__.OutE("knows"),__.OutE("created")).OtherV().Path().By("name").By(T.Label)}}, 
+               {"g_V_outXcreatedX_order_byXnameX_coalesceXname_constantXxXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").Order().By("name").Coalesce<object>(__.Values<object>("name"),__.Constant<object>("x"))}}, 
+               {"g_V_connectedComponent_hasXcomponentX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().ConnectedComponent().Has("gremlin.connectedComponentVertexProgram.component")}}, 
+               {"g_V_dedup_connectedComponent_hasXcomponentX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Dedup().ConnectedComponent().Has("gremlin.connectedComponentVertexProgram.component")}}, 
+               {"g_V_hasLabelXsoftwareX_connectedComponent_project_byXnameX_byXcomponentX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().HasLabel("software").ConnectedComponent().Project<object>("name","component").By("name").By("gremlin.connectedComponentVertexProgram.com [...]
+               {"g_V_connectedComponent_withXEDGES_bothEXknowsXX_withXPROPERTY_NAME_clusterX_project_byXnameX_byXclusterX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().HasLabel("person").ConnectedComponent().With("~tinkerpop.connectedComponent.edges",__.BothE("knows")).Wi [...]
+               {"g_V_constantX123X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Constant<object>(123)}}, 
+               {"g_V_constantXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Constant<object>(null)}}, 
+               {"g_V_chooseXhasLabelXpersonX_valuesXnameX_constantXinhumanXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.HasLabel("person"),__.Values<object>("name"),__.Constant<object>("inhuman"))}}, 
+               {"g_V_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Count()}}, 
+               {"g_V_out_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Count()}}, 
+               {"g_V_both_both_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Both().Count()}}, 
+               {"g_V_fold_countXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fold().Count(Scope.Local)}}, 
+               {"g_V_hasXnoX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("no").Count()}}, 
+               {"g_V_whereXinXkknowsX_outXcreatedX_count_is_0XX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Where(__.In("knows").Out("created").Count().Is(0)).Values<object>("name")}}, 
+               {"g_V_repeatXoutX_timesX8X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(8).Count()}}, 
+               {"g_V_repeatXoutX_timesX5X_asXaX_outXwrittenByX_asXbX_selectXa_bX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(5).As("a").Out("writtenBy").As("b").Select<object>("a","b").Count()}}, 
+               {"g_V_repeatXoutX_timesX3X_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(3).Count()}}, 
+               {"g_V_elementMap", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ElementMap<object>()}}, 
+               {"g_V_elementMapXname_ageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ElementMap<object>("name","age")}}, 
+               {"g_EX11X_elementMap", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid11"]).ElementMap<object>()}}, 
+               {"g_V_asXaX_flatMapXselectXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").FlatMap<object>(__.Select<object>("a"))}}, 
+               {"g_V_fold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fold()}}, 
+               {"g_V_fold_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fold().Unfold<object>()}}, 
+               {"g_V_age_foldX0_plusX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold<object>(0,Operator.Sum)}}, 
+               {"g_VX1X_V_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).V().Values<object>("name")}}, 
+               {"g_V_outXknowsX_V_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("knows").V().Values<object>("name")}}, 
+               {"g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("artist","name","Garcia").In("sungBy").As("song").V().Has("artist","name","Willie_Dixon").In("writtenBy").Where(P.Eq("song")).Values<object>("name")}}, 
+               {"g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Propert [...]
+               {"g_V_hasLabelXsoftwareX_index_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Index<object>().Unfold<object>()}}, 
+               {"g_V_hasLabelXsoftwareX_order_byXnameX_index_withXmapX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Order().By("name").Index<object>().With("~tinkerpop.index.indexer",1)}}, 
+               {"g_V_hasLabelXsoftwareX_name_fold_orderXlocalX_index_unfold_order_byXtailXlocal_1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Values<object>("name").Fold().Order(Scope.Local).Index<object>().Unfold<object>().Order().By(__.Tail<object>(Scope.Local,1))}}, 
+               {"g_V_hasLabelXpersonX_name_fold_orderXlocalX_index_withXmapX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Values<object>("name").Fold().Order(Scope.Local).Index<object>().With("~tinkerpop.index.indexer",1)}}, 
+               {"g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.Both().SimplePath()).Until(__.Has("name","peter").Or().Loops().Is(3)).Has("name","peter").Path().By("name")}}, 
+               {"g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.Both().SimplePath()).Until(__.Has("name","peter").Or().Loops().Is(2)).Has("name","peter").Path().By("name")}}, 
+               {"g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.Both().SimplePath()).Until(__.Has("name","peter").And().Loops().Is(3)).Has("name","peter").Path().By("name")}}, 
+               {"g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Emit(__.Has("name","marko").Or().Loops().Is(2)).Repeat(__.Out()).Values<object>("name")}}, 
+               {"g_VX1X_mapXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Map<object>((IFunction) p["l1"])}}, 
+               {"g_VX1X_outE_label_mapXlengthX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE().Label().Map<object>((IFunction) p["l1"])}}, 
+               {"g_VX1X_out_mapXnameX_mapXlengthX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Map<object>((IFunction) p["l1"]).Map<object>((IFunction) p["l2"])}}, 
+               {"g_withPath_V_asXaX_out_mapXa_nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithPath().V().As("a").Out().Map<object>((IFunction) p["l1"])}}, 
+               {"g_withPath_V_asXaX_out_out_mapXa_name_it_nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithPath().V().As("a").Out().Out().Map<object>((IFunction) p["l1"])}}, 
+               {"g_V_mapXselectXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Map<object>(__.Select<object>("a"))}}, 
+               {"g_V_mapXconstantXnullXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Map<object>(__.Constant<object>(null))}}, 
+               {"g_V_valueMap_matchXa_selectXnameX_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Match<object>(__.As("a").Select<object>("name").As("b"))}}, 
+               {"g_V_matchXa_out_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out().As("b"))}}, 
+               {"g_V_matchXa_out_bX_selectXb_idX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out().As("b")).Select<object>("b").By(T.Id)}}, 
+               {"g_V_matchXa_knows_b__b_created_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("knows").As("b"),__.As("b").Out("created").As("c"))}}, 
+               {"g_V_matchXb_created_c__a_knows_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("b").Out("created").As("c"),__.As("a").Out("knows").As("b"))}}, 
+               {"g_V_matchXa_created_b__b_0created_cX_whereXa_neq_cX_selectXa_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("created").As("b"),__.As("b").In("created").As("c")).Where("a",P.Neq("c")).Select<object>("a","c")}}, 
+               {"g_V_matchXd_0knows_a__d_hasXname_vadasX__a_knows_b__b_created_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("d").In("knows").As("a"),__.As("d").Has("name","vadas"),__.As("a").Out("knows").As("b"),__.As("b").Out("created").As("c"))}}, 
+               {"g_V_matchXa_created_lop_b__b_0created_29_c__c_whereXrepeatXoutX_timesX2XXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("created").Has("name","lop").As("b"),__.As("b").In("created").Has("age",29).As("c"),__.As("c").Where(__.Repeat(__.Out()).Times(2)))}}, 
+               {"g_V_asXaX_out_asXbX_matchXa_out_count_c__b_in_count_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Match<object>(__.As("a").Out().Count().As("c"),__.As("b").In().Count().As("c"))}}, 
+               {"g_V_matchXa__a_out_b__notXa_created_bXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out().As("b"),__.Not(__.As("a").Out("created").As("b")))}}, 
+               {"g_V_matchXa_created_lop_b__b_0created_29_cX_whereXc_repeatXoutX_timesX2XX_selectXa_b_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("created").Has("name","lop").As("b"),__.As("b").In("created").Has("age",29).As("c")).Where(__.As("c").Repeat(__.Out()).Times(2)).Select<object>("a","b","c")}}, 
+               {"g_V_out_out_matchXa_0created_b__b_0knows_cX_selectXcX_outXcreatedX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Match<object>(__.As("a").In("created").As("b"),__.As("b").In("knows").As("c")).Select<object>("c").Out("created").Values<object>("name")}}, 
+               {"g_V_matchXa_knows_b__b_created_c__a_created_cX_dedupXa_b_cX_selectXaX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("knows").As("b"),__.As("b").Out("created").As("c"),__.As("a").Out("created").As("c")).Dedup("a","b","c").Select<object>("a").By("name")}}, 
+               {"g_V_matchXa_created_b__a_repeatXoutX_timesX2XX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("created").As("b"),__.As("a").Repeat(__.Out()).Times(2).As("b")).Select<object>("a","b")}}, 
+               {"g_V_notXmatchXa_age_b__a_name_cX_whereXb_eqXcXX_selectXaXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Not(__.Match<object>(__.As("a").Values<object>("age").As("b"),__.As("a").Values<object>("name").As("c")).Where("b",P.Eq("c")).Select<object>("a")).Values<object>("name")}}, 
+               {"g_V_matchXa_knows_b__andXa_created_c__b_created_c__andXb_created_count_d__a_knows_count_dXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("knows").As("b"),__.And(__.As("a").Out("created").As("c"),__.As("b").Out("created").As("c"),__.And(__.As("b").Out("created").Count().As("d"),__.As("a").Out("knows").Count().As("d"))))}}, 
+               {"g_V_matchXa_whereXa_neqXcXX__a_created_b__orXa_knows_vadas__a_0knows_and_a_hasXlabel_personXX__b_0created_c__b_0created_count_isXgtX1XXX_selectXa_b_cX_byXidX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.Where("a",P.Neq("c")),__.As("a").Out("created").As("b"),__.Or(__.As("a").Out("knows").Has("name","vadas"),__.As("a").In("knows").And().As("a").Has(T.Label,"person")),__.As("b").In("created").As("c"),__.As( [...]
+               {"g_V_matchXa__a_both_b__b_both_cX_dedupXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Both().As("b"),__.As("b").Both().As("c")).Dedup("a","b")}}, 
+               {"g_V_matchXa_knows_b__b_created_lop__b_matchXb_created_d__d_0created_cX_selectXcX_cX_selectXa_b_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("knows").As("b"),__.As("b").Out("created").Has("name","lop"),__.As("b").Match<object>(__.As("b").Out("created").As("d"),__.As("d").In("created").As("c")).Select<object>("c").As("c")).Select<object>("a","b","c")}}, 
+               {"g_V_matchXa_knows_b__a_created_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("knows").As("b"),__.As("a").Out("created").As("c"))}}, 
+               {"g_V_matchXwhereXandXa_created_b__b_0created_count_isXeqX3XXXX__a_both_b__whereXb_inXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.Where(__.And(__.As("a").Out("created").As("b"),__.As("b").In("created").Count().Is(P.Eq(3)))),__.As("a").Both().As("b"),__.Where(__.As("b").In()))}}, 
+               {"g_V_matchXa_outEXcreatedX_order_byXweight_descX_limitX1X_inV_b__b_hasXlang_javaXX_selectXa_bX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").OutE("created").Order().By("weight",Order.Desc).Limit<object>(1).InV().As("b"),__.As("b").Has("lang","java")).Select<object>("a","b").By("name")}}, 
+               {"g_V_matchXa_both_b__b_both_cX_dedupXa_bX_byXlabelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Both().As("b"),__.As("b").Both().As("c")).Dedup("a","b").By(T.Label)}}, 
+               {"g_V_matchXa_created_b__b_0created_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("created").As("b"),__.As("b").In("created").As("a"))}}, 
+               {"g_V_asXaX_out_asXbX_matchXa_out_count_c__orXa_knows_b__b_in_count_c__and__c_isXgtX2XXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Match<object>(__.As("a").Out().Count().As("c"),__.Or(__.As("a").Out("knows").As("b"),__.As("b").In().Count().As("c").And().As("c").Is(P.Gt(2))))}}, 
+               {"g_V_matchXa_knows_count_bX_selectXbX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("knows").Count().As("b")).Select<object>("b")}}, 
+               {"g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_d__c_sungBy_d__d_hasXname_GarciaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").In("sungBy").As("b"),__.As("a").In("writtenBy").As("c"),__.As("b").Out("writtenBy").As("d"),__.As("c").Out("sungBy").As("d"),__.As("d").Has("name","Garcia"))}}, 
+               {"g_V_matchXa_hasXsong_name_sunshineX__a_mapX0followedBy_weight_meanX_b__a_0followedBy_c__c_filterXweight_whereXgteXbXXX_outV_dX_selectXdX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Has("song","name","HERE COMES SUNSHINE"),__.As("a").Map<object>(__.InE("followedBy").Values<object>("weight").Mean<object>()).As("b"),__.As("a").InE("followedBy").As("c"),__.As("c").Filter(__.Values<object>("w [...]
+               {"g_V_matchXa_0sungBy_b__a_0sungBy_c__b_writtenBy_d__c_writtenBy_e__d_hasXname_George_HarisonX__e_hasXname_Bob_MarleyXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").In("sungBy").As("b"),__.As("a").In("sungBy").As("c"),__.As("b").Out("writtenBy").As("d"),__.As("c").Out("writtenBy").As("e"),__.As("d").Has("name","George_Harrison"),__.As("e").Has("name","Bob_Marley"))}}, 
+               {"g_V_matchXa_hasXname_GarciaX__a_0writtenBy_b__a_0sungBy_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Has("name","Garcia"),__.As("a").In("writtenBy").As("b"),__.As("a").In("sungBy").As("b"))}}, 
+               {"g_V_hasLabelXsongsX_matchXa_name_b__a_performances_cX_selectXb_cX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("song").Match<object>(__.As("a").Values<object>("name").As("b"),__.As("a").Values<object>("performances").As("c")).Select<object>("b","c").Count()}}, 
+               {"g_V_matchXa_followedBy_count_isXgtX10XX_b__a_0followedBy_count_isXgtX10XX_bX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("followedBy").Count().Is(P.Gt(10)).As("b"),__.As("a").In("followedBy").Count().Is(P.Gt(10)).As("b")).Count()}}, 
+               {"g_V_matchXa_0sungBy_b__a_0writtenBy_c__b_writtenBy_dX_whereXc_sungBy_dX_whereXd_hasXname_GarciaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").In("sungBy").As("b"),__.As("a").In("writtenBy").As("c"),__.As("b").Out("writtenBy").As("d")).Where(__.As("c").Out("sungBy").As("d")).Where(__.As("d").Has("name","Garcia"))}}, 
+               {"g_V_matchXa_hasXname_GarciaX__a_0writtenBy_b__b_followedBy_c__c_writtenBy_d__whereXd_neqXaXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Has("name","Garcia"),__.As("a").In("writtenBy").As("b"),__.As("b").Out("followedBy").As("c"),__.As("c").Out("writtenBy").As("d"),__.Where("d",P.Neq("a")))}}, 
+               {"g_V_matchXa_outXknowsX_name_bX_identity", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Match<object>(__.As("a").Out("knows").Values<object>("name").As("b")).Identity()}}, 
+               {"g_V_outE_mathX0_minus_itX_byXweightX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Math("0-_").By("weight")}}, 
+               {"g_V_hasXageX_valueMap_mathXit_plus_itXbyXselectXageX_unfoldXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").ValueMap<object,object>().Math("_+_").By(__.Select<object>("age").Unfold<object>())}}, 
+               {"g_V_asXaX_outXknowsX_asXbX_mathXa_plus_bX_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("knows").As("b").Math("a + b").By("age")}}, 
+               {"g_withSideEffectXx_100X_V_age_mathX__plus_xX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("x",p["initial"]).V().Values<object>("age").Math("_ + x")}}, 
+               {"g_V_asXaX_outXcreatedX_asXbX_mathXb_plus_aX_byXinXcreatedX_countX_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("created").As("b").Math("b + a").By(__.In("created").Count()).By("age")}}, 
+               {"g_withSackX1X_injectX1X_repeatXsackXsumX_byXconstantX1XXX_timesX5X_emit_mathXsin__X_byXsackX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(1).Inject(1).Repeat(__.Sack(Operator.Sum).By(__.Constant<object>(1))).Times(5).Emit().Math("sin _").By(__.Sack<object>())}}, 
+               {"g_V_projectXa_b_cX_byXbothE_weight_sumX_byXbothE_countX_byXnameX_order_byXmathXa_div_bX_descX_selectXcX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Project<object>("a","b","c").By(__.BothE().Values<object>("weight").Sum<object>()).By(__.BothE().Count()).By("name").Order().By(__.Math("a / b"),Order.Desc).Select<object>("c")}}, 
+               {"g_V_age_max", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Max<object>()}}, 
+               {"g_V_foo_max", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Max<object>()}}, 
+               {"g_V_name_max", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Max<object>()}}, 
+               {"g_V_age_fold_maxXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Max<object>(Scope.Local)}}, 
+               {"g_V_foo_fold_maxXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Fold().Max<object>(Scope.Local)}}, 
+               {"g_V_name_fold_maxXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Max<object>(Scope.Local)}}, 
+               {"g_V_repeatXbothX_timesX5X_age_max", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both()).Times(5).Values<object>("age").Max<object>()}}, 
+               {"g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_maxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Group<object,object>().By("name").By(__.BothE().Values<object>("weight").Max<object>())}}, 
+               {"g_V_age_mean", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Mean<object>()}}, 
+               {"g_V_foo_mean", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Mean<object>()}}, 
+               {"g_V_age_fold_meanXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Mean<object>(Scope.Local)}}, 
+               {"g_V_foo_fold_meanXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Fold().Mean<object>(Scope.Local)}}, 
+               {"g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_meanX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Group<object,object>().By("name").By(__.BothE().Values<object>("weight").Mean<object>())}}, 
+               {"g_V_age_min", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Min<object>()}}, 
+               {"g_V_foo_min", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Min<object>()}}, 
+               {"g_V_name_min", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Min<object>()}}, 
+               {"g_V_age_fold_minXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Min<object>(Scope.Local)}}, 
+               {"g_V_foo_fold_minXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Fold().Min<object>(Scope.Local)}}, 
+               {"g_V_name_fold_minXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Min<object>(Scope.Local)}}, 
+               {"g_V_repeatXbothX_timesX5X_age_min", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both()).Times(5).Values<object>("age").Min<object>()}}, 
+               {"g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Group<object,object>().By("name").By(__.BothE().Values<object>("weight").Min<object>())}}, 
+               {"g_V_foo_injectX9999999999X_min", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Inject(p["xx1"]).Min<object>()}}, 
+               {"g_V_name_order", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order()}}, 
+               {"g_V_name_order_byXa1_b1X_byXb2_a2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().By((IComparator) p["c1"]).By((IComparator) p["c2"])}}, 
+               {"g_V_order_byXname_ascX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Order().By("name",Order.Asc).Values<object>("name")}}, 
+               {"g_V_order_byXnameX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Order().By("name").Values<object>("name")}}, 
+               {"g_V_outE_order_byXweight_descX_weight", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Order().By("weight",Order.Desc).Values<object>("weight")}}, 
+               {"g_V_order_byXname_a1_b1X_byXname_b2_a2X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Order().By("name",(IComparator) p["c1"]).By("name",(IComparator) p["c2"]).Values<object>("name")}}, 
+               {"g_V_asXaX_outXcreatedX_asXbX_order_byXshuffleX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("created").As("b").Order().By(Order.Shuffle).Select<object>("a","b")}}, 
+               {"g_V_both_hasLabelXpersonX_order_byXage_descX_limitX5X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().HasLabel("person").Order().By("age",Order.Desc).Limit<object>(5).Values<object>("name")}}, 
+               {"g_V_properties_order_byXkey_descX_key", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Properties<object>().Order().By(T.Key,Order.Desc).Key()}}, 
+               {"g_V_hasLabelXpersonX_order_byXvalueXageX_descX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Order().By((IFunction) p["l1"],Order.Desc).Values<object>("name")}}, 
+               {"g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_orderXlocalX_byXvaluesX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Group<object,object>().By("name").By(__.OutE().Values<object>("weight").Sum<object>()).Order(Scope.Local).By(Column.Values)}}, 
+               {"g_V_mapXbothE_weight_foldX_order_byXsumXlocalX_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Map<object>(__.BothE().Values<object>("weight").Fold()).Order().By(__.Sum<object>(Scope.Local),Order.Desc)}}, 
+               {"g_V_group_byXlabelX_byXname_order_byXdescX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(T.Label).By(__.Values<object>("name").Order().By(Order.Desc).Fold())}}, 
+               {"g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_unfold_order_byXvalues_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Group<object,object>().By("name").By(__.OutE().Values<object>("weight").Sum<object>()).Unfold<object>().Order().By(Column.Values,Order.Desc)}}, 
+               {"g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Map<object>(__.BothE().Values<object>("weight").Fold()).Sum<object>(Scope.Local).As("s").Select<object>("v","s").Order().By(__.Select<object>("s"),Order.Desc)}}, 
+               {"g_V_hasLabelXpersonX_fold_orderXlocalX_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Fold().Order(Scope.Local).By("age")}}, 
+               {"g_V_both_hasLabelXpersonX_order_byXage_descX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().HasLabel("person").Order().By("age",Order.Desc).Values<object>("name")}}, 
+               {"g_V_order_byXoutE_count_descX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Order().By(__.OutE().Count(),Order.Desc)}}, 
+               {"g_V_hasLabelXpersonX_order_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Order().By("age")}}, 
+               {"g_VX1X_hasXlabel_personX_mapXmapXint_ageXX_orderXlocalX_byXvalues_descX_byXkeys_ascX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V((Vertex) p["v1"]).HasLabel("person").Map<object>((IFunction) p["l1"]).Order(Scope.Local).By(Column.Values,Order.Desc).By(Column.Keys,Order.Asc)}}, 
+               {"g_VX1X_elementMap_orderXlocalX_byXkeys_descXunfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).ElementMap<object>().Order(Scope.Local).By(Column.Keys,Order.Desc).Unfold<object>()}}, 
+               {"g_V_pageRank_hasXpageRankX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().PageRank().Has("gremlin.pageRankVertexProgram.pageRank"), (g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apac [...]
+               {"g_V_outXcreatedX_pageRank_withXedges_bothEX_withXpropertyName_projectRankX_withXtimes_0X_valueMapXname_projectRankX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Out("created").PageRank().With("~tinkerpop.pageRank.edges",__.BothE()).With("~tinkerpop.pageR [...]
+               {"g_V_pageRank_order_byXpageRank_descX_byXnameX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().PageRank().Order().By("gremlin.pageRankVertexProgram.pageRank",Order.Desc).By("name").Values<object>("name")}}, 
+               {"g_V_pageRank_order_byXpageRank_descX_name_limitX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().PageRank().Order().By("gremlin.pageRankVertexProgram.pageRank",Order.Desc).Values<object>("name").Limit<object>(2)}}, 
+               {"g_V_pageRank_withXedges_outEXknowsXX_withXpropertyName_friendRankX_project_byXnameX_byXvaluesXfriendRankX_mathX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().PageRank().With("~tinkerpop.pageRank.edges",__.OutE("knows")).With("~tinkerpop.pageRank.propertyN [...]
+               {"g_V_hasLabelXpersonX_pageRank_withXpropertyName_kpageRankX_project_byXnameX_byXvaluesXpageRankX_mathX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().HasLabel("person").PageRank().With("~tinkerpop.pageRank.propertyName","pageRank").Project<object>("name","p [...]
+               {"g_V_pageRank_withXpropertyName_pageRankX_asXaX_outXknowsX_pageRank_asXbX_selectXa_bX_by_byXmathX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().PageRank().With("~tinkerpop.pageRank.propertyName","pageRank").As("a").Out("knows").Values<object>("pageRank").A [...]
+               {"g_V_hasLabelXsoftwareX_hasXname_rippleX_pageRankX1X_withXedges_inEXcreatedX_withXtimes_1X_withXpropertyName_priorsX_inXcreatedX_unionXboth__identityX_valueMapXname_priorsX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().HasLabel("software").Has("name","ripp [...]
+               {"g_V_outXcreatedX_groupXmX_byXlabelX_pageRankX1X_withXpropertyName_pageRankX_withXedges_inEX_withXtimes_1X_inXcreatedX_groupXmX_byXpageRankX_capXmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Out("created").Group("m").By(T.Label).PageRank(1.0).With("~tin [...]
+               {"g_VX1X_name_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Values<object>("name").Path()}}, 
+               {"g_VX1X_out_path_byXageX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Path().By("age").By("name")}}, 
+               {"g_V_repeatXoutX_timesX2X_path_byXitX_byXnameX_byXlangX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out()).Times(2).Path().By().By("name").By("lang")}}, 
+               {"g_V_out_out_path_byXnameX_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").By("age")}}, 
+               {"g_V_asXaX_hasXname_markoX_asXbX_hasXage_29X_asXcX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Has("name","marko").As("b").Has("age",29).As("c").Path()}}, 
+               {"g_VX1X_outEXcreatedX_inV_inE_outV_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("created").InV().InE().OutV().Path()}}, 
+               {"g_V_asXaX_out_asXbX_out_asXcX_path_fromXbX_toXcX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Out().As("c").Path().From("b").To("c").By("name")}}, 
+               {"g_V_peerPressure_hasXclusterX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().PeerPressure().Has("gremlin.peerPressureVertexProgram.cluster"), (g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer" [...]
+               {"g_V_peerPressure_withXpropertyName_clusterX_withXedges_outEXknowsXX_pageRankX1X_byXrankX_withXedges_outEXknowsX_withXtimes_2X_group_byXclusterX_byXrank_sumX_limitX100X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().PeerPressure().With("~tinkerpop.peerPress [...]
+               {"g_V_hasXname_rippleX_inXcreatedX_peerPressure_withXedges_outEX_withyXpropertyName_clusterX_repeatXunionXidentity__bothX_timesX2X_dedup_valueMapXname_clusterX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("name","ripple").In("created").PeerPressure().W [...]
+               {"g_V_hasLabelXpersonX_projectXa_bX_byXoutE_countX_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Project<object>("a","b").By(__.OutE().Count()).By("age")}}, 
+               {"g_V_outXcreatedX_projectXa_bX_byXnameX_byXinXcreatedX_countX_order_byXselectXbX__descX_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").Project<object>("a","b").By("name").By(__.In("created").Count()).Order().By(__.Select<object>("b"),Order.Desc).Select<object>("a")}}, 
+               {"g_V_valueMap_projectXxX_byXselectXnameXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Project<object>("x").By(__.Select<object>("name"))}}, 
+               {"g_V_hasXageX_propertiesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").Properties<object>("name").Value<object>()}}, 
+               {"g_V_hasXageX_propertiesXname_ageX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").Properties<object>("name","age").Value<object>()}}, 
+               {"g_V_hasXageX_propertiesXage_nameX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").Properties<object>("age","name").Value<object>()}}, 
+               {"get_g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("knows").As("b").Select<object>("a","b")}}, 
+               {"g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("knows").As("b").Select<object>("a","b").By("name")}}, 
+               {"g_VX1X_asXaX_outXknowsX_asXbX_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("knows").As("b").Select<object>("a")}}, 
+               {"g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("knows").As("b").Select<object>("a").By("name")}}, 
+               {"g_V_asXaX_out_asXbX_selectXa_bX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().As("b").Select<object>("a","b").By("name")}}, 
+               {"g_V_asXaX_out_aggregateXxX_asXbX_selectXa_bX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out().Aggregate("x").As("b").Select<object>("a","b").By("name")}}, 
+               {"g_V_asXaX_name_order_asXbX_selectXa_bX_byXnameX_by_XitX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Values<object>("name").Order().As("b").Select<object>("a","b").By("name").By()}}, 
+               {"g_V_hasXname_gremlinX_inEXusesX_order_byXskill_ascX_asXaX_outV_asXbX_selectXa_bX_byXskillX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name","gremlin").InE("uses").Order().By("skill",Order.Asc).As("a").OutV().As("b").Select<object>("a","b").By("skill").By("name")}}, 
+               {"g_V_hasXname_isXmarkoXX_asXaX_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name",__.Is("marko")).As("a").Select<object>("a")}}, 
+               {"g_V_label_groupCount_asXxX_selectXxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Label().GroupCount<object>().As("x").Select<object>("x")}}, 
+               {"g_V_hasLabelXpersonX_asXpX_mapXbothE_label_groupCountX_asXrX_selectXp_rX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").As("p").Map<object>(__.BothE().Label().GroupCount<object>()).As("r").Select<object>("p","r")}}, 
+               {"g_V_chooseXoutE_count_isX0X__asXaX__asXbXX_chooseXselectXaX__selectXaX__selectXbXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Choose<object>(__.OutE().Count().Is(p["xx1"]),__.As("a"),__.As("b")).Choose<object>(__.Select<object>("a"),__.Select<object>("a"),__.Select<object>("b"))}}, 
+               {"g_VX1X_groupXaX_byXconstantXaXX_byXnameX_selectXaX_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Group("a").By(__.Constant<object>("a")).By(__.Values<object>("name")).Barrier().Select<object>("a").Select<object>("a")}}, 
+               {"g_VX1X_asXhereX_out_selectXhereX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("here").Out().Select<object>("here")}}, 
+               {"g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).As("here").Out().Select<object>("here")}}, 
+               {"g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).Out().As("here").Has("lang","java").Select<object>("here").Values<object>("name")}}, 
+               {"g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE().As("here").InV().Has("name","vadas").Select<object>("here")}}, 
+               {"g_VX1X_outEXknowsX_hasXweight_1X_asXhereX_inV_hasXname_joshX_selectXhereX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("knows").Has("weight",1.0).As("here").InV().Has("name","josh").Select<object>("here")}}, 
+               {"g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_asXfakeX_inV_hasXname_joshX_selectXhereX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("knows").As("here").Has("weight",1.0).As("fake").InV().Has("name","josh").Select<object>("here")}}, 
+               {"g_V_asXhereXout_name_selectXhereX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("here").Out().Values<object>("name").Select<object>("here")}}, 
+               {"g_V_outXcreatedX_unionXasXprojectX_inXcreatedX_hasXname_markoX_selectXprojectX__asXprojectX_inXcreatedX_inXknowsX_hasXname_markoX_selectXprojectXX_groupCount_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").Union<object>(__.As("project").In("created").Has("name","marko").Select<object>("project"),__.As("project").In("created").In("knows").Has("name","marko").Select<object>("project")).GroupCount<object [...]
+               {"g_V_untilXout_outX_repeatXin_asXaXX_selectXaX_byXtailXlocalX_nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Until(__.Out().Out()).Repeat(__.In().As("a")).Select<object>("a").By(__.Tail<object>(Scope.Local).Values<object>("name"))}}, 
+               {"g_V_outE_weight_groupCount_selectXkeysX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Values<object>("weight").GroupCount<object>().Select<object>(Column.Keys).Unfold<object>()}}, 
+               {"g_V_hasLabelXsoftwareX_asXnameX_asXlanguageX_asXcreatorsX_selectXname_language_creatorsX_byXnameX_byXlangX_byXinXcreatedX_name_fold_orderXlocalXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").As("name").As("language").As("creators").Select<object>("name","language","creators").By("name").By("lang").By(__.In("created").Values<object>("name").Fold().Order(Scope.Local))}}, 
+               {"g_V_outE_weight_groupCount_unfold_selectXkeysX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Values<object>("weight").GroupCount<object>().Unfold<object>().Select<object>(Column.Keys).Unfold<object>()}}, 
+               {"g_V_outE_weight_groupCount_unfold_selectXvaluesX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Values<object>("weight").GroupCount<object>().Unfold<object>().Select<object>(Column.Values).Unfold<object>()}}, 
+               {"g_V_untilXout_outX_repeatXin_asXaX_in_asXbXX_selectXa_bX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Until(__.Out().Out()).Repeat(__.In().As("a").In().As("b")).Select<object>("a","b").By("name")}}, 
+               {"g_V_outE_weight_groupCount_selectXvaluesX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Values<object>("weight").GroupCount<object>().Select<object>(Column.Values).Unfold<object>()}}, 
+               {"g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out("knows").As("b").Select<object>("a","b")}}, 
+               {"g_V_asXaX_whereXoutXknowsXX_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Where(__.Out("knows")).Select<object>("a")}}, 
+               {"g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXfirst_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Repeat(__.Out().As("a")).Times(2).Select<object>(Pop.First,"a")}}, 
+               {"g_V_asXaX_outXknowsX_asXbX_localXselectXa_bX_byXnameXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("knows").As("b").Local<object>(__.Select<object>("a","b").By("name"))}}, 
+               {"g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXlast_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Repeat(__.Out().As("a")).Times(2).Select<object>(Pop.Last,"a")}}, 
+               {"g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_inV_hasXname_joshX_selectXhereX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("knows").As("here").Has("weight",1.0).InV().Has("name","josh").Select<object>("here")}}, 
+               {"g_V_asXaX_hasXname_markoX_asXbX_asXcX_selectXa_b_cX_by_byXnameX_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Has("name","marko").As("b").As("c").Select<object>("a","b","c").By().By("name").By("age")}}, 
+               {"g_V_outE_weight_groupCount_selectXvaluesX_unfold_groupCount_selectXvaluesX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Values<object>("weight").GroupCount<object>().Select<object>(Column.Values).Unfold<object>().GroupCount<object>().Select<object>(Column.Values).Unfold<object>()}}, 
+               {"g_V_asXaX_groupXmX_by_byXbothE_countX_barrier_selectXmX_selectXselectXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Group("m").By().By(__.BothE().Count()).Barrier().Select<object>("m").Select<object>(__.Select<object>("a"))}}, 
+               {"g_V_asXaX_groupXmX_by_byXbothE_countX_barrier_selectXmX_selectXselectXaXX_byXmathX_plus_XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Group("m").By().By(__.BothE().Count()).Barrier().Select<object>("m").Select<object>(__.Select<object>("a")).By(__.Math("_+_"))}}, 
+               {"g_V_asXaX_outXknowsX_asXaX_selectXall_constantXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").Out("knows").As("a").Select<object>(Pop.All,__.Constant<object>("a"))}}, 
+               {"g_V_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>("a")}}, 
+               {"g_V_selectXaX_count", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>("a").Count()}}, 
+               {"g_V_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>("a","b")}}, 
+               {"g_V_valueMap_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>("a")}}, 
+               {"g_V_valueMap_selectXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>("a","b")}}, 
+               {"g_V_selectXfirst_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>(Pop.First,"a")}}, 
+               {"g_V_selectXfirst_a_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>(Pop.First,"a","b")}}, 
+               {"g_V_valueMap_selectXfirst_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>(Pop.First,"a")}}, 
+               {"g_V_valueMap_selectXfirst_a_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>(Pop.First,"a","b")}}, 
+               {"g_V_selectXlast_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>(Pop.Last,"a")}}, 
+               {"g_V_selectXlast_a_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>(Pop.Last,"a","b")}}, 
+               {"g_V_valueMap_selectXlast_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>(Pop.Last,"a")}}, 
+               {"g_V_valueMap_selectXlast_a_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>(Pop.Last,"a","b")}}, 
+               {"g_V_selectXall_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>(Pop.All,"a")}}, 
+               {"g_V_selectXall_a_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Select<object>(Pop.All,"a","b")}}, 
+               {"g_V_valueMap_selectXall_aX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>(Pop.All,"a")}}, 
+               {"g_V_valueMap_selectXall_a_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Select<object>(Pop.All,"a","b")}}, 
+               {"g_V_asXa_bX_out_asXcX_path_selectXkeysX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a","b").Out().As("c").Path().Select<object>(Column.Keys), (g,p) =>g.V().As("a","b").Out().As("c").Path().Select<object>(Column.Keys)}}, 
+               {"g_V_hasXperson_name_markoX_barrier_asXaX_outXknows_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("person","name","marko").Barrier().As("a").Out("knows").Select<object>("a")}}, 
+               {"g_V_hasXperson_name_markoX_elementMapXnameX_asXaX_unionXidentity_identityX_selectXaX_selectXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("person","name","marko").ElementMap<object>("name").As("a").Union<object>(__.Identity(),__.Identity()).Select<object>("a").Select<object>("name")}}, 
+               {"g_V_hasXperson_name_markoX_count_asXaX_unionXidentity_identityX_selectXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("person","name","marko").Count().As("a").Union<object>(__.Identity(),__.Identity()).Select<object>("a")}}, 
+               {"g_V_hasXperson_name_markoX_path_asXaX_unionXidentity_identityX_selectXaX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("person","name","marko").Path().As("a").Union<object>(__.Identity(),__.Identity()).Select<object>("a").Unfold<object>()}}, 
+               {"g_EX11X_propertiesXweightX_asXaX_selectXaX_byXkeyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid11"]).Properties<object>("weight").As("a").Select<object>("a").By(T.Key)}}, 
+               {"g_EX11X_propertiesXweightX_asXaX_selectXaX_byXvalueX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid11"]).Properties<object>("weight").As("a").Select<object>("a").By(T.Value)}}, 
+               {"g_V_shortestPath", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Identity().ShortestPath()}}, 
+               {"g_V_both_dedup_shortestPath", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Both().Dedup().ShortestPath()}}, 
+               {"g_V_shortestPath_edgesIncluded", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Identity().ShortestPath().With("~tinkerpop.shortestPath.includeEdges")}}, 
+               {"g_V_shortestPath_directionXINX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Identity().ShortestPath().With("~tinkerpop.shortestPath.edges",Direction.In)}}, 
+               {"g_V_shortestPath_edgesXoutEX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Identity().ShortestPath().With("~tinkerpop.shortestPath.edges",__.OutE())}}, 
+               {"g_V_shortestPath_edgesIncluded_edgesXoutEX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Identity().ShortestPath().With("~tinkerpop.shortestPath.includeEdges").With("~tinkerpop.shortestPath.edges",__.OutE())}}, 
+               {"g_V_hasXname_markoX_shortestPath", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("name","marko").ShortestPath()}}, 
+               {"g_V_shortestPath_targetXhasXname_markoXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Identity().ShortestPath().With("~tinkerpop.shortestPath.target",__.Has("name","marko"))}}, 
+               {"g_V_shortestPath_targetXvaluesXnameX_isXmarkoXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Identity().ShortestPath().With("~tinkerpop.shortestPath.target",__.Values<object>("name").Is("marko"))}}, 
+               {"g_V_hasXname_markoX_shortestPath_targetXhasLabelXsoftwareXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("name","marko").ShortestPath().With("~tinkerpop.shortestPath.target",__.HasLabel("software"))}}, 
+               {"g_V_hasXname_markoX_shortestPath_targetXhasXname_joshXX_distanceXweightX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("name","marko").ShortestPath().With("~tinkerpop.shortestPath.target",__.Has("name","josh")).With("~tinkerpop.shortestPath.distance", [...]
+               {"g_V_hasXname_danielX_shortestPath_targetXhasXname_stephenXX_edgesXbothEXusesXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("name","daniel").ShortestPath().With("~tinkerpop.shortestPath.target",__.Has("name","stephen")).With("~tinkerpop.shortestPath. [...]
+               {"g_V_hasXsong_name_MIGHT_AS_WELLX_shortestPath_targetXhasXsong_name_MAYBE_YOU_KNOW_HOW_I_FEELXX_edgesXoutEXfollowedByXX_distanceXweightX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("song","name","MIGHT AS WELL").ShortestPath().With("~tinkerpop.shorte [...]
+               {"g_V_hasXname_markoX_shortestPath_maxDistanceX1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("name","marko").ShortestPath().With("~tinkerpop.shortestPath.maxDistance",1)}}, 
+               {"g_V_hasXname_vadasX_shortestPath_distanceXweightX_maxDistanceX1_3X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new VertexProgramStrategy(configuration: new Dictionary<string,dynamic> {{"graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"}})).V().Has("name","vadas").ShortestPath().With("~tinkerpop.shortestPath.distance","weight").With("~tinkerpop.shortestPath.maxDistance",1.3)}}, 
+               {"g_V_age_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Sum<object>()}}, 
+               {"g_V_foo_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Sum<object>()}}, 
+               {"g_V_age_fold_sumXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Sum<object>(Scope.Local)}}, 
+               {"g_V_foo_fold_sumXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Fold().Sum<object>(Scope.Local)}}, 
+               {"g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Group<object,object>().By("name").By(__.BothE().Values<object>("weight").Sum<object>())}}, 
+               {"g_V_localXoutE_foldX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.OutE().Fold()).Unfold<object>()}}, 
+               {"g_V_valueMap_unfold_mapXkeyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().Unfold<object>().Map<object>((IFunction) p["l1"])}}, 
+               {"g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Repeat(__.Both().SimplePath()).Until(__.HasId(p["vid6"])).Path().By("name").Unfold<object>()}}, 
+               {"g_V_valueMap", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>()}}, 
+               {"g_V_valueMapXtrueX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>(true)}}, 
+               {"g_V_valueMap_withXtokensX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>().With("~tinkerpop.valueMap.tokens")}}, 
+               {"g_V_valueMapXname_ageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>("name","age")}}, 
+               {"g_V_valueMapXtrue_name_ageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>(true,"name","age")}}, 
+               {"g_V_valueMapXname_ageX_withXtokensX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>("name","age").With("~tinkerpop.valueMap.tokens")}}, 
+               {"g_V_valueMapXname_ageX_withXtokens_labelsX_byXunfoldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>("name","age").With("~tinkerpop.valueMap.tokens",2).By(__.Unfold<object>())}}, 
+               {"g_V_valueMapXname_ageX_withXtokens_idsX_byXunfoldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object,object>("name","age").With("~tinkerpop.valueMap.tokens",1).By(__.Unfold<object>())}}, 
+               {"g_VX1X_outXcreatedX_valueMap", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("created").ValueMap<object,object>()}}, 
+               {"g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Filter(__.OutE("created")).ValueMap<object,object>(true)}}, 
+               {"g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMap_withXtokensX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Filter(__.OutE("created")).ValueMap<object,object>().With("~tinkerpop.valueMap.tokens")}}, 
+               {"g_VX1X_valueMapXname_locationX_byXunfoldX_by", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).ValueMap<object,object>("name","location").By(__.Unfold<object>()).By()}}, 
+               {"g_VXlistX1_2_3XX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vx"]).Values<object>("name")}}, 
+               {"g_VXlistXv1_v2_v3XX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vx"]).Values<object>("name")}}, 
+               {"g_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V()}}, 
+               {"g_VXv1X_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V((Vertex) p["v1"]).Out()}}, 
+               {"g_VX1X_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out()}}, 
+               {"g_VX2X_in", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).In()}}, 
+               {"g_VX4X_both", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).Both()}}, 
+               {"g_E", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E()}}, 
+               {"g_EX11X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid11"])}}, 
+               {"g_EX11AsStringX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["eid11"])}}, 
+               {"g_EXe11X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["e11"])}}, 
+               {"g_EXe7_e11X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["e7"],p["e11"])}}, 
+               {"g_EXlistXe7_e11XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.E(p["xx1"])}}, 
+               {"g_VX1X_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE()}}, 
+               {"g_VX2X_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).InE()}}, 
+               {"g_VX4X_bothEXcreatedX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).BothE("created")}}, 
+               {"g_VX4X_bothE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).BothE()}}, 
+               {"g_VX1X_outE_inV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Both()}}, 
+               {"g_VX2X_inE_outV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).InE().OutV()}}, 
+               {"g_V_outE_hasXweight_1X_outV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().OutE().Has("weight",1.0).OutV()}}, 
+               {"g_V_out_outE_inV_inE_inV_both_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().OutE().InV().InE().InV().Both().Values<object>("name")}}, 
+               {"g_VX1X_outEXknowsX_bothV_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("knows").BothV().Values<object>("name")}}, 
+               {"g_VX1X_outE_otherV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE().OtherV()}}, 
+               {"g_VX4X_bothE_otherV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).BothE().OtherV()}}, 
+               {"g_VX4X_bothE_hasXweight_lt_1X_otherV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid4"]).BothE().Has("weight",P.Lt(1.0)).OtherV()}}, 
+               {"g_VX2X_inE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).BothE()}}, 
+               {"get_g_VX1X_outE_otherV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE().OtherV()}}, 
+               {"g_VX1X_outXknowsX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("knows")}}, 
+               {"g_VX1AsStringX_outXknowsX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("knows")}}, 
+               {"g_VX1X_outXknows_createdX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out("knows","created")}}, 
+               {"g_VX1X_outEXknowsX_inV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("knows").InV()}}, 
+               {"g_VX1X_outEXknows_createdX_inV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("knows","created").InV()}}, 
+               {"g_V_out_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out()}}, 
+               {"g_VX1X_out_out_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Out().Out()}}, 
+               {"g_VX1X_out_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Values<object>("name")}}, 
+               {"g_VX1X_to_XOUT_knowsX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).To(Direction.Out,"knows")}}, 
+               {"g_VX1_2_3_4X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"],p["vid2"],p["vid3"],p["vid4"]).Values<object>("name")}}, 
+               {"g_V_hasLabelXpersonX_V_hasLabelXsoftwareX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").V().HasLabel("software").Values<object>("name")}}, 
+               {"g_V_hasLabelXloopsX_bothEXselfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("loops").BothE("self")}}, 
+               {"g_V_hasLabelXloopsX_bothXselfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("loops").Both("self")}}, 
+               {"g_V_valueXnameX_aggregateXxX_capXxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Aggregate("x").Cap<object>("x")}}, 
+               {"g_V_valueXnameX_aggregateXglobal_xX_capXxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Aggregate(Scope.Global,"x").Cap<object>("x")}}, 
+               {"g_V_aggregateXxX_byXnameX_capXxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Aggregate("x").By("name").Cap<object>("x")}}, 
+               {"g_V_out_aggregateXaX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Aggregate("a").Path()}}, 
+               {"g_V_hasLabelXpersonX_aggregateXxX_byXageX_capXxX_asXyX_selectXyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Aggregate("x").By("age").Cap<object>("x").As("y").Select<object>("y")}}, 
+               {"g_V_aggregateXlocal_a_nameX_out_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Aggregate(Scope.Local,"a").By("name").Out().Cap<object>("a")}}, 
+               {"g_VX1X_aggregateXlocal_aX_byXnameX_out_aggregateXlocal_aX_byXnameX_name_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Aggregate(Scope.Local,"a").By("name").Out().Aggregate(Scope.Local,"a").By("name").Values<object>("name").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a",p["initial"]).V().Both().Values<object>("name").Aggregate(Scope.Local,"a").Cap<object>("a")}}, 
+               {"g_V_aggregateXlocal_aX_byXoutEXcreatedX_countX_out_out_aggregateXlocal_aX_byXinEXcreatedX_weight_sumX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Aggregate(Scope.Local,"a").By(__.OutE("created").Count()).Out().Out().Aggregate(Scope.Local,"a").By(__.InE("created").Values<object>("weight").Sum<object>()).Cap<object>("a")}}, 
+               {"g_V_group_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By("name")}}, 
+               {"g_V_group_byXageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By("age")}}, 
+               {"g_V_group_byXnameX_by", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By("name").By()}}, 
+               {"g_V_groupXaX_byXnameX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group("a").By("name").Cap<object>("a")}}, 
+               {"g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("lang").Group("a").By("lang").By("name").Out().Cap<object>("a")}}, 
+               {"g_V_hasXlangX_group_byXlangX_byXcountX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("lang").Group<object,object>().By("lang").By(__.Count())}}, 
+               {"g_V_repeatXout_groupXaX_byXnameX_byXcountX_timesX2X_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out().Group("a").By("name").By(__.Count())).Times(2).Cap<object>("a")}}, 
+               {"g_V_group_byXoutE_countX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(__.OutE().Count()).By("name")}}, 
+               {"g_V_groupXaX_byXlabelX_byXoutE_weight_sumX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group("a").By(T.Label).By(__.OutE().Values<object>("weight").Sum<object>()).Cap<object>("a")}}, 
+               {"g_V_repeatXbothXfollowedByXX_timesX2X_group_byXsongTypeX_byXcountX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both("followedBy")).Times(2).Group<object,object>().By("songType").By(__.Count())}}, 
+               {"g_V_repeatXbothXfollowedByXX_timesX2X_groupXaX_byXsongTypeX_byXcountX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Both("followedBy")).Times(2).Group("a").By("songType").By(__.Count()).Cap<object>("a")}}, 
+               {"g_V_group_byXname_substring_1X_byXconstantX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By((IFunction) p["l1"]).By(__.Constant<object>(1))}}, 
+               {"g_V_groupXaX_byXname_substring_1X_byXconstantX1XX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group("a").By((IFunction) p["l1"]).By(__.Constant<object>(1)).Cap<object>("a")}}, 
+               {"g_V_out_group_byXlabelX_selectXpersonX_unfold_outXcreatedX_name_limitX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Group<object,object>().By(T.Label).Select<object>("person").Unfold<object>().Out("created").Values<object>("name").Limit<object>(2)}}, 
+               {"g_V_hasLabelXsongX_group_byXnameX_byXproperties_groupCount_byXlabelXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("song").Group<object,object>().By("name").By(__.Properties<object>().GroupCount<object>().By(T.Label))}}, 
+               {"g_V_hasLabelXsongX_groupXaX_byXnameX_byXproperties_groupCount_byXlabelXX_out_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("song").Group("a").By("name").By(__.Properties<object>().GroupCount<object>().By(T.Label)).Out().Cap<object>("a")}}, 
+               {"g_V_outXfollowedByX_group_byXsongTypeX_byXbothE_group_byXlabelX_byXweight_sumXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("followedBy").Group<object,object>().By("songType").By(__.BothE().Group<object,object>().By(T.Label).By(__.Values<object>("weight").Sum<object>()))}}, 
+               {"g_V_groupXmX_byXnameX_byXinXknowsX_nameX_capXmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group("m").By("name").By(__.In("knows").Values<object>("name")).Cap<object>("m")}}, 
+               {"g_V_group_byXlabelX_byXbothE_groupXaX_byXlabelX_byXweight_sumX_weight_sumX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(T.Label).By(__.BothE().Group("a").By(T.Label).By(__.Values<object>("weight").Sum<object>()).Values<object>("weight").Sum<object>())}}, 
+               {"g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a",p["initial"]).V().Group("a").By("name").By(__.OutE().Label().Fold()).Cap<object>("a")}}, 
+               {"g_V_hasLabelXpersonX_asXpX_outXcreatedX_group_byXnameX_byXselectXpX_valuesXageX_sumX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").As("p").Out("created").Group<object,object>().By("name").By(__.Select<object>("p").Values<object>("age").Sum<object>())}}, 
+               {"g_V_hasLabelXpersonX_asXpX_outXcreatedX_groupXaX_byXnameX_byXselectXpX_valuesXageX_sumX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").As("p").Out("created").Group("a").By("name").By(__.Select<object>("p").Values<object>("age").Sum<object>()).Cap<object>("a")}}, 
+               {"g_V_group_byXlabelX_byXlabel_countX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group<object,object>().By(__.Label()).By(__.Label().Count())}}, 
+               {"g_V_groupXmX_byXlabelX_byXlabel_countX_capXmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group("m").By(__.Label()).By(__.Label().Count()).Cap<object>("m")}}, 
+               {"g_V_outXcreatedX_groupCount_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").GroupCount<object>().By("name")}}, 
+               {"g_V_outXcreatedX_name_groupCount", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").Values<object>("name").GroupCount<object>()}}, 
+               {"g_V_outXcreatedX_groupCountXaX_byXnameX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").GroupCount("a").By("name").Cap<object>("a")}}, 
+               {"g_V_outXcreatedX_name_groupCountXaX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").Values<object>("name").GroupCount("a").Cap<object>("a")}}, 
+               {"g_V_repeatXout_groupCountXaX_byXnameXX_timesX2X_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Repeat(__.Out().GroupCount("a").By("name")).Times(2).Cap<object>("a")}}, 
+               {"g_V_both_groupCountXaX_byXlabelX_asXbX_barrier_whereXselectXaX_selectXsoftwareX_isXgtX2XXX_selectXbX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().GroupCount("a").By(T.Label).As("b").Barrier().Where(__.Select<object>("a").Select<object>("software").Is(P.Gt(2))).Select<object>("b").Values<object>("name")}}, 
+               {"g_V_unionXoutXknowsX__outXcreatedX_inXcreatedXX_groupCount_selectXvaluesX_unfold_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Union<object>(__.Out("knows"),__.Out("created").In("created")).GroupCount<object>().Select<object>(Column.Values).Unfold<object>().Sum<object>()}}, 
+               {"g_V_hasXnoX_groupCount", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("no").GroupCount<object>()}}, 
+               {"g_V_hasXnoX_groupCountXaX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("no").GroupCount("a").Cap<object>("a")}}, 
+               {"g_V_unionXrepeatXoutX_timesX2X_groupCountXmX_byXlangXX__repeatXinX_timesX2X_groupCountXmX_byXnameXX_capXmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Union<object>(__.Repeat(__.Out()).Times(2).GroupCount("m").By("lang"),__.Repeat(__.In()).Times(2).GroupCount("m").By("name")).Cap<object>("m")}}, 
+               {"g_V_outXcreatedX_groupCountXxX_capXxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out("created").GroupCount("x").Cap<object>("x")}}, 
+               {"g_V_groupCount_byXbothE_countX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().GroupCount<object>().By(__.BothE().Count())}}, 
+               {"g_V_both_groupCountXaX_out_capXaX_selectXkeysX_unfold_both_groupCountXaX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().GroupCount("a").Out().Cap<object>("a").Select<object>(Column.Keys).Unfold<object>().Both().GroupCount("a").Cap<object>("a")}}, 
+               {"g_VX1X_out_injectXv2X_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Inject((Vertex) p["v2"]).Values<object>("name")}}, 
+               {"g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Values<object>("name").Inject("daniel").As("a").Map<object>((IFunction) p["l1"]).Path()}}, 
+               {"g_VX1X_injectXg_VX4XX_out_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Inject((Vertex) p["v4"]).Out().Values<object>("name")}}, 
+               {"g_injectXnull_1_3_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null,1,3,null)}}, 
+               {"g_injectX10_20_null_20_10_10X_groupCountXxX_dedup_asXyX_projectXa_bX_by_byXselectXxX_selectXselectXyXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(10,20,null,20,10,10).GroupCount("x").Dedup().As("y").Project<object>("a","b").By().By(__.Select<object>("x").Select<object>(__.Select<object>("y")))}}, 
+               {"g_injectXname_marko_age_nullX_selectXname_ageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject(p["initial"]).Select<object>("name","age")}}, 
+               {"g_io_readXkryoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Io<object>("data/tinkerpop-modern.kryo").Read(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_io_read_withXreader_gryoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Io<object>("data/tinkerpop-modern.kryo").With("~tinkerpop.io.reader","gryo").Read(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_io_readXgraphsonX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Io<object>("data/tinkerpop-modern.json").Read(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_io_read_withXreader_graphsonX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Io<object>("data/tinkerpop-modern.json").With("~tinkerpop.io.reader","graphson").Read(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_io_readXgraphmlX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Io<object>("data/tinkerpop-modern.xml").Read(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_io_read_withXreader_graphmlX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Io<object>("data/tinkerpop-modern.xml").With("~tinkerpop.io.reader","graphml").Read(), (g,p) =>g.V(), (g,p) =>g.E()}}, 
+               {"g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack("hello").V().OutE().Sack(Operator.Assign).By(T.Label).InV().Sack<object>()}}, 
+               {"g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(0.0).V().OutE().Sack(Operator.Sum).By("weight").InV().Sack<object>().Sum<object>()}}, 
+               {"g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(0.0).V().Repeat(__.OutE().Sack(Operator.Sum).By("weight").InV()).Times(2).Sack<object>()}}, 
+               {"g_withBulkXfalseX_withSackX1_sumX_VX1X_localXoutEXknowsX_barrierXnormSackX_inVX_inXknowsX_barrier_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithBulk(false).WithSack(1.0,Operator.Sum).V(p["vid1"]).Local<object>(__.OutE("knows").Barrier(Barrier.NormSack).InV()).In("knows").Barrier().Sack<object>()}}, 
+               {"g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithBulk(false).WithSack(1,Operator.Sum).V().Out().Barrier().Sack<object>()}}, 
+               {"g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(1.0,Operator.Sum).V(p["vid1"]).Local<object>(__.Out("knows").Barrier(Barrier.NormSack)).In("knows").Barrier().Sack<object>()}}, 
+               {"g_V_hasXageX_groupCountXaX_byXnameX_out_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("age").GroupCount("a").By("name").Out().Cap<object>("a")}}, 
+               {"g_V_storeXa_nameX_out_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Store("a").By("name").Out().Cap<object>("a")}}, 
+               {"g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Store("a").By("name").Out().Store("a").By("name").Values<object>("name").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a",p["initial"]).V().Both().Values<object>("name").Store("a").Cap<object>("a")}}, 
+               {"g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Store("a").By(__.OutE("created").Count()).Out().Out().Store("a").By(__.InE("created").Values<object>("weight").Sum<object>()).Cap<object>("a")}}, 
+            };
+
+        public static ITraversal UseTraversal(string scenarioName, GraphTraversalSource g, IDictionary<string, object> parameters)
+        {
+            List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> list = FixedTranslations[scenarioName];
+            Func<GraphTraversalSource, IDictionary<string, object>, ITraversal> f = list[0];
+            list.RemoveAt(0);
+            return f.Invoke(g, parameters);
+        }
+    }
+}
+
diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml
index e3565ff..c328dd5 100644
--- a/gremlin-dotnet/test/pom.xml
+++ b/gremlin-dotnet/test/pom.xml
@@ -128,6 +128,24 @@ limitations under the License.
                         </dependencies>
                         <executions>
                             <execution>
+                                <id>generate-radish-support</id>
+                                <phase>generate-sources</phase>
+                                <goals>
+                                    <goal>execute</goal>
+                                </goals>
+                                <configuration>
+                                    <properties>
+                                        <property>
+                                            <name>projectBaseDir</name>
+                                            <value>${project.basedir}/../../</value>
+                                        </property>
+                                    </properties>
+                                    <scripts>
+                                        <script>${project.basedir}/../build/generate.groovy</script>
+                                    </scripts>
+                                </configuration>
+                            </execution>
+                            <execution>
                                 <id>gremlin-server-start</id>
                                 <phase>pre-integration-test</phase>
                                 <goals>
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
index 43545bd..110e9c4 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
@@ -48,48 +48,48 @@ const WithOptions = traversalModule.withOptions
 
 const gremlins = {
     g_V_branchXlabel_eq_person__a_bX_optionXa__ageX_optionXb__langX_optionXb__nameX: [function({g, l1}) { return g.V().branch(l1).option("a",__.values("age")).option("b",__.values("lang")).option("b",__.values("name")) }], 
-    g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX: [function({g, zero, one}) { return g.V().branch(__.label().is("person").count()).option(one,__.values("age")).option(zero,__.values("lang")).option(zero,__.values("name")) }], 
-    g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX: [function({g, zero, one}) { return g.V().branch(__.label().is("person").count()).option(one,__.values("age")).option(zero,__.values("lang")).option(zero,__.values("name")).option(Pick.any,__.label()) }], 
+    g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX: [function({g, xx1, xx2}) { return g.V().branch(__.label().is("person").count()).option(xx1,__.values("age")).option(xx2,__.values("lang")).option(xx2,__.values("name")) }], 
+    g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX: [function({g, xx1, xx2}) { return g.V().branch(__.label().is("person").count()).option(xx1,__.values("age")).option(xx2,__.values("lang")).option(xx2,__.values("name")).option(Pick.any,__.label()) }], 
     g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX: [function({g}) { return g.V().hasLabel("person").branch(__.values("age")).option(P.lt(30),__.constant("young")).option(P.gt(30),__.constant("old")).option(Pick.none,__.constant("on the edge")) }], 
     g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX: [function({g}) { return g.V().branch(__.identity()).option(__.hasLabel("software"),__.in_("created").values("name").order().fold()).option(__.has("name","vadas"),__.values("age")).option(P.neq(123),__.bothE().count()) }], 
-    g_V_chooseXout_countX_optionX2L_nameX_optionX3L_ageX: [function({g, two, three}) { return g.V().choose(__.out().count()).option(two,__.values("name")).option(three,__.values("age")) }], 
-    g_V_chooseXlabel_eqXpersonX__outXknowsX__inXcreatedXX_name: [function({g, l1}) { return g.V().choose(l1,__.out("knows"),__.in_("created")).values("name") }], 
+    g_V_chooseXout_countX_optionX2L_nameX_optionX3L_ageX: [function({g, xx1, xx2}) { return g.V().choose(__.out().count()).option(xx1,__.values("name")).option(xx2,__.values("age")) }], 
+    g_V_chooseXlabel_eqXpersonX__outXknowsX__inXcreatedXX_name: [function({g, pred1}) { return g.V().choose(pred1,__.out("knows"),__.in_("created")).values("name") }], 
     g_V_chooseXhasLabelXpersonX_and_outXcreatedX__outXknowsX__identityX_name: [function({g}) { return g.V().choose(__.hasLabel("person").and().out("created"),__.out("knows"),__.identity()).values("name") }], 
     g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name: [function({g}) { return g.V().choose(__.label()).option("blah",__.out("knows")).option("bleep",__.out("created")).option(Pick.none,__.identity()).values("name") }], 
     g_V_chooseXoutXknowsX_count_isXgtX0XX__outXknowsXX_name: [function({g}) { return g.V().choose(__.out("knows").count().is(P.gt(0)),__.out("knows")).values("name") }], 
     g_V_hasLabelXpersonX_asXp1X_chooseXoutEXknowsX__outXknowsXX_asXp2X_selectXp1_p2X_byXnameX: [function({g}) { return g.V().hasLabel("person").as("p1").choose(__.outE("knows"),__.out("knows")).as("p2").select("p1","p2").by("name") }], 
-    g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount: [function({g, d27}) { return g.V().hasLabel("person").choose(__.values("age")).option(d27,__.constant("young")).option(Pick.none,__.constant("old")).groupCount() }], 
-    g_injectX1X_chooseXisX1X__constantX10Xfold__foldX: [function({g, d10, d1}) { return g.inject(d1).choose(__.is(d1),__.constant(d10).fold(),__.fold()) }], 
-    g_injectX2X_chooseXisX1X__constantX10Xfold__foldX: [function({g, d10, d1, d2}) { return g.inject(d2).choose(__.is(d1),__.constant(d10).fold(),__.fold()) }], 
+    g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount: [function({g, xx1}) { return g.V().hasLabel("person").choose(__.values("age")).option(xx1,__.constant("young")).option(Pick.none,__.constant("old")).groupCount() }], 
+    g_injectX1X_chooseXisX1X__constantX10Xfold__foldX: [function({g, xx1, xx2}) { return g.inject(xx2).choose(__.is(xx2),__.constant(xx1).fold(),__.fold()) }], 
+    g_injectX2X_chooseXisX1X__constantX10Xfold__foldX: [function({g, xx1, xx3, xx2}) { return g.inject(xx3).choose(__.is(xx2),__.constant(xx1).fold(),__.fold()) }], 
     g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value: [function({g}) { return g.V().local(__.properties("location").order().by(T.value,Order.asc).range(0,2)).value() }], 
     g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX: [function({g}) { return g.V().has(T.label,"person").as("a").local(__.out("created").as("b")).select("a","b").by("name").by(T.id) }], 
     g_V_localXoutE_countX: [function({g}) { return g.V().local(__.outE().count()) }], 
-    g_VX1X_localXoutEXknowsX_limitX1XX_inV_name: [function({g, v1Id}) { return g.V(v1Id).local(__.outE("knows").limit(1)).inV().values("name") }], 
+    g_VX1X_localXoutEXknowsX_limitX1XX_inV_name: [function({g, vid1}) { return g.V(vid1).local(__.outE("knows").limit(1)).inV().values("name") }], 
     g_V_localXbothEXcreatedX_limitX1XX_otherV_name: [function({g}) { return g.V().local(__.bothE("created").limit(1)).otherV().values("name") }], 
-    g_VX4X_localXbothEX1_createdX_limitX1XX: [function({g, v4Id}) { return g.V(v4Id).local(__.bothE("created").limit(1)) }], 
-    g_VX4X_localXbothEXknows_createdX_limitX1XX: [function({g, v4Id}) { return g.V(v4Id).local(__.bothE("knows","created").limit(1)) }], 
-    g_VX4X_localXbothE_limitX1XX_otherV_name: [function({g, v4Id}) { return g.V(v4Id).local(__.bothE().limit(1)).otherV().values("name") }], 
-    g_VX4X_localXbothE_limitX2XX_otherV_name: [function({g, v4Id}) { return g.V(v4Id).local(__.bothE().limit(2)).otherV().values("name") }], 
+    g_VX4X_localXbothEX1_createdX_limitX1XX: [function({g, vid4}) { return g.V(vid4).local(__.bothE("created").limit(1)) }], 
+    g_VX4X_localXbothEXknows_createdX_limitX1XX: [function({g, vid4}) { return g.V(vid4).local(__.bothE("knows","created").limit(1)) }], 
+    g_VX4X_localXbothE_limitX1XX_otherV_name: [function({g, vid4}) { return g.V(vid4).local(__.bothE().limit(1)).otherV().values("name") }], 
+    g_VX4X_localXbothE_limitX2XX_otherV_name: [function({g, vid4}) { return g.V(vid4).local(__.bothE().limit(2)).otherV().values("name") }], 
     g_V_localXinEXknowsX_limitX2XX_outV_name: [function({g}) { return g.V().local(__.inE("knows").limit(2)).outV().values("name") }], 
     g_V_localXmatchXproject__created_person__person_name_nameX_selectXname_projectX_by_byXnameX: [function({g}) { return g.V().local(__.match(__.as("project").in_("created").as("person"),__.as("person").values("name").as("name"))).select("name","project").by().by("name") }], 
-    g_VX2X_optionalXoutXknowsXX: [function({g, v2Id}) { return g.V(v2Id).optional(__.out("knows")) }], 
-    g_VX2X_optionalXinXknowsXX: [function({g, v2Id}) { return g.V(v2Id).optional(__.in_("knows")) }], 
+    g_VX2X_optionalXoutXknowsXX: [function({g, vid2}) { return g.V(vid2).optional(__.out("knows")) }], 
+    g_VX2X_optionalXinXknowsXX: [function({g, vid2}) { return g.V(vid2).optional(__.in_("knows")) }], 
     g_V_hasLabelXpersonX_optionalXoutXknowsX_optionalXoutXcreatedXXX_path: [function({g}) { return g.V().hasLabel("person").optional(__.out("knows").optional(__.out("created"))).path() }], 
     g_V_optionalXout_optionalXoutXX_path: [function({g}) { return g.V().optional(__.out().optional(__.out())).path() }], 
-    g_VX1X_optionalXaddVXdogXX_label: [function({g, v1Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property( [...]
+    g_VX1X_optionalXaddVXdogXX_label: [function({g, vid1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property( [...]
     g_V_repeatXoutX_timesX2X_emit_path: [function({g}) { return g.V().repeat(__.out()).times(2).emit().path() }], 
     g_V_repeatXoutX_timesX2X_repeatXinX_timesX2X_name: [function({g}) { return g.V().repeat(__.out()).times(2).repeat(__.in_()).times(2).values("name") }], 
     g_V_repeatXoutX_timesX2X: [function({g}) { return g.V().repeat(__.out()).times(2) }], 
     g_V_repeatXoutX_timesX2X_emit: [function({g}) { return g.V().repeat(__.out()).times(2).emit() }], 
-    g_VX1X_timesX2X_repeatXoutX_name: [function({g, v1Id}) { return g.V(v1Id).times(2).repeat(__.out()).values("name") }], 
+    g_VX1X_timesX2X_repeatXoutX_name: [function({g, vid1}) { return g.V(vid1).times(2).repeat(__.out()).values("name") }], 
     g_V_emit_timesX2X_repeatXoutX_path: [function({g}) { return g.V().emit().times(2).repeat(__.out()).path() }], 
     g_V_emit_repeatXoutX_timesX2X_path: [function({g}) { return g.V().emit().repeat(__.out()).times(2).path() }], 
-    g_VX1X_emitXhasXlabel_personXX_repeatXoutX_name: [function({g, v1Id}) { return g.V(v1Id).emit(__.has(T.label,"person")).repeat(__.out()).values("name") }], 
+    g_VX1X_emitXhasXlabel_personXX_repeatXoutX_name: [function({g, vid1}) { return g.V(vid1).emit(__.has(T.label,"person")).repeat(__.out()).values("name") }], 
     g_V_repeatXgroupCountXmX_byXnameX_outX_timesX2X_capXmX: [function({g}) { return g.V().repeat(__.groupCount("m").by("name").out()).times(2).cap("m") }], 
-    g_VX1X_repeatXgroupCountXmX_byXloopsX_outX_timesX3X_capXmX: [function({g, v1Id}) { return g.V(v1Id).repeat(__.groupCount("m").by(__.loops()).out()).times(3).cap("m") }], 
+    g_VX1X_repeatXgroupCountXmX_byXloopsX_outX_timesX3X_capXmX: [function({g, vid1}) { return g.V(vid1).repeat(__.groupCount("m").by(__.loops()).out()).times(3).cap("m") }], 
     g_V_repeatXbothX_timesX10X_asXaX_out_asXbX_selectXa_bX: [function({g}) { return g.V().repeat(__.both()).times(10).as("a").out().as("b").select("a","b").count() }], 
-    g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name: [function({g, v1Id}) { return g.V(v1Id).repeat(__.out()).until(__.outE().count().is(0)).values("name") }], 
-    g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX: [function({g, l}) { return g.V().repeat(__.both()).until(l).groupCount().by("name") }], 
+    g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name: [function({g, vid1}) { return g.V(vid1).repeat(__.out()).until(__.outE().count().is(0)).values("name") }], 
+    g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX: [function({g, pred1}) { return g.V().repeat(__.both()).until(pred1).groupCount().by("name") }], 
     g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX: [function({g}) { return g.V().has("name","marko").repeat(__.outE().inV().simplePath()).until(__.has("name","ripple")).path().by("name").by(T.label) }], 
     g_V_hasXloop_name_loopX_repeatXinX_timesX5X_path_by_name: [function({g}) { return g.V().has("loops","name","loop").repeat(__.in_()).times(5).path().by("name") }], 
     g_V_repeatXout_repeatXoutX_timesX1XX_timesX1X_limitX1X_path_by_name: [function({g}) { return g.V().repeat(__.out().repeat(__.out()).times(1)).times(1).limit(1).path().by("name") }], 
@@ -97,18 +97,18 @@ const gremlins = {
     g_V_repeatXrepeatXout_createdXX_untilXhasXname_rippleXXXemit_lang: [function({g}) { return g.V().repeat(__.repeat(__.out("created")).until(__.has("name","ripple"))).emit().values("lang") }], 
     g_V_untilXconstantXtrueXX_repeatXrepeatXout_createdXX_untilXhasXname_rippleXXXemit_lang: [function({g}) { return g.V().until(__.constant(true)).repeat(__.repeat(__.out("created")).until(__.has("name","ripple"))).emit().values("lang") }], 
     g_V_emit_repeatXa_outXknows_filterXloops_isX0XX_lang: [function({g}) { return g.V().emit().repeat("a",__.out("knows").filter(__.loops("a").is(0))).values("lang") }], 
-    g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsXX_emit_loopsXisX1Xdedup_values: [function({g, v3Id}) { return g.V(v3Id).repeat(__.both("created")).until(__.loops().is(40)).emit(__.repeat(__.in_("knows")).emit(__.loops().is(1))).dedup().values("name") }], 
-    g_VX1X_repeatXrepeatXunionXout_uses_out_traversesXX_whereXloops_isX0X_timesX1X_timeX2X_name: [function({g, v1Id}) { return g.V(v1Id).repeat(__.repeat(__.union(__.out("uses"),__.out("traverses")).where(__.loops().is(0))).times(1)).times(2).values("name") }], 
+    g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsXX_emit_loopsXisX1Xdedup_values: [function({g, vid3}) { return g.V(vid3).repeat(__.both("created")).until(__.loops().is(40)).emit(__.repeat(__.in_("knows")).emit(__.loops().is(1))).dedup().values("name") }], 
+    g_VX1X_repeatXrepeatXunionXout_uses_out_traversesXX_whereXloops_isX0X_timesX1X_timeX2X_name: [function({g, vid1}) { return g.V(vid1).repeat(__.repeat(__.union(__.out("uses"),__.out("traverses")).where(__.loops().is(0))).times(1)).times(2).values("name") }], 
     g_V_repeatXa_outXknows_repeatXb_outXcreatedX_filterXloops_isX0XX_emit_lang: [function({g}) { return g.V().repeat("a",__.out("knows").repeat("b",__.out("created").filter(__.loops("a").is(0))).emit()).emit().values("lang") }], 
-    g_VX6X_repeatXa_bothXcreatedX_simplePathX_emitXrepeatXb_bothXknowsXX_untilXloopsXbX_asXb_whereXloopsXaX_asXbX_hasXname_vadasXX_dedup_name: [function({g, v6Id}) { return g.V(v6Id).repeat("a",__.both("created").simplePath()).emit(__.repeat("b",__.both("knows")).until(__.loops("b").as("b").where(__.loops("a").as("b"))).has("name","vadas")).dedup().values("name") }], 
+    g_VX6X_repeatXa_bothXcreatedX_simplePathX_emitXrepeatXb_bothXknowsXX_untilXloopsXbX_asXb_whereXloopsXaX_asXbX_hasXname_vadasXX_dedup_name: [function({g, vid6}) { return g.V(vid6).repeat("a",__.both("created").simplePath()).emit(__.repeat("b",__.both("knows")).until(__.loops("b").as("b").where(__.loops("a").as("b"))).has("name","vadas")).dedup().values("name") }], 
     g_V_unionXout__inX_name: [function({g}) { return g.V().union(__.out(),__.in_()).values("name") }], 
-    g_VX1X_unionXrepeatXoutX_timesX2X__outX_name: [function({g, v1Id}) { return g.V(v1Id).union(__.repeat(__.out()).times(2),__.out()).values("name") }], 
+    g_VX1X_unionXrepeatXoutX_timesX2X__outX_name: [function({g, vid1}) { return g.V(vid1).union(__.repeat(__.out()).times(2),__.out()).values("name") }], 
     g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX: [function({g}) { return g.V().choose(__.label().is("person"),__.union(__.out().values("lang"),__.out().values("name")),__.in_().label()) }], 
     g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount: [function({g}) { return g.V().choose(__.label().is("person"),__.union(__.out().values("lang"),__.out().values("name")),__.in_().label()).groupCount() }], 
     g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount: [function({g}) { return g.V().union(__.repeat(__.union(__.out("created"),__.in_("created"))).times(2),__.repeat(__.union(__.in_("created"),__.out("created"))).times(2)).label().groupCount() }], 
-    g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX: [function({g, v1Id, v2Id}) { return g.V(v1Id,v2Id).union(__.outE().count(),__.inE().count(),__.outE().values("weight").sum()) }], 
-    g_VX1_2X_localXunionXoutE_count__inE_count__outE_weight_sumXX: [function({g, v1Id, v2Id}) { return g.V(v1Id,v2Id).local(__.union(__.outE().count(),__.inE().count(),__.outE().values("weight").sum())) }], 
-    g_VX1_2X_localXunionXcountXX: [function({g, v1Id, v2Id}) { return g.V(v1Id,v2Id).local(__.union(__.count())) }], 
+    g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX: [function({g, vid2, vid1}) { return g.V(vid1,vid2).union(__.outE().count(),__.inE().count(),__.outE().values("weight").sum()) }], 
+    g_VX1_2X_localXunionXoutE_count__inE_count__outE_weight_sumXX: [function({g, vid2, vid1}) { return g.V(vid1,vid2).local(__.union(__.outE().count(),__.inE().count(),__.outE().values("weight").sum())) }], 
+    g_VX1_2X_localXunionXcountXX: [function({g, vid2, vid1}) { return g.V(vid1,vid2).local(__.union(__.count())) }], 
     g_V_andXhasXage_gt_27X__outE_count_gte_2X_name: [function({g}) { return g.V().and(__.has("age",P.gt(27)),__.outE().count().is(P.gte(2))).values("name") }], 
     g_V_andXoutE__hasXlabel_personX_and_hasXage_gte_32XX_name: [function({g}) { return g.V().and(__.outE(),__.has(T.label,"person").and().has("age",P.gte(32))).values("name") }], 
     g_V_asXaX_outXknowsX_and_outXcreatedX_inXcreatedX_asXaX_name: [function({g}) { return g.V().as("a").out("knows").and().out("created").in_("created").as("a").values("name") }], 
@@ -116,14 +116,14 @@ const gremlins = {
     g_V_hasXname_markoX_and_hasXname_markoX_and_hasXname_markoX: [function({g}) { return g.V().has("name","marko").and().has("name","marko").and().has("name","marko") }], 
     g_V_coinX1X: [function({g}) { return g.V().coin(1.0) }], 
     g_V_coinX0X: [function({g}) { return g.V().coin(0.0) }], 
-    g_VX1X_outXcreatedX_inXcreatedX_cyclicPath: [function({g, v1Id}) { return g.V(v1Id).out("created").in_("created").cyclicPath() }], 
-    g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path: [function({g, v1Id}) { return g.V(v1Id).out("created").in_("created").cyclicPath().path() }], 
-    g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path: [function({g, v1Id}) { return g.V(v1Id).as("a").out("created").as("b").in_("created").as("c").cyclicPath().from_("a").to("b").path() }], 
+    g_VX1X_outXcreatedX_inXcreatedX_cyclicPath: [function({g, vid1}) { return g.V(vid1).out("created").in_("created").cyclicPath() }], 
+    g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path: [function({g, vid1}) { return g.V(vid1).out("created").in_("created").cyclicPath().path() }], 
+    g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path: [function({g, vid1}) { return g.V(vid1).as("a").out("created").as("b").in_("created").as("c").cyclicPath().from_("a").to("b").path() }], 
     g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold: [function({g}) { return g.V().out().in_().values("name").fold().dedup(Scope.local).unfold() }], 
     g_V_out_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold: [function({g}) { return g.V().out().as("x").in_().as("y").select("x","y").by("name").fold().dedup(Scope.local,"x","y").unfold() }], 
     g_V_both_dedup_name: [function({g}) { return g.V().both().dedup().values("name") }], 
     g_V_both_hasXlabel_softwareX_dedup_byXlangX_name: [function({g}) { return g.V().both().has(T.label,"software").dedup().by("lang").values("name") }], 
-    g_V_both_name_order_byXa_bX_dedup_value: [function({g, l}) { return g.V().both().properties("name").order().by(l).dedup().value() }], 
+    g_V_both_name_order_byXa_bX_dedup_value: [function({g, c1}) { return g.V().both().properties("name").order().by(c1).dedup().value() }], 
     g_V_both_both_name_dedup: [function({g}) { return g.V().both().both().values("name").dedup() }], 
     g_V_both_both_dedup: [function({g}) { return g.V().both().both().dedup() }], 
     g_V_both_both_dedup_byXlabelX: [function({g}) { return g.V().both().both().dedup().by(T.label) }], 
@@ -143,47 +143,47 @@ const gremlins = {
     g_V_properties_drop: [function({g}) { return g.addV().property("name","bob").addV().property("name","alice") }, function({g}) { return g.V().properties().drop() }, function({g}) { return g.V() }, function({g}) { return g.V().properties() }], 
     g_E_propertiesXweightX_drop: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property("lang","jav [...]
     g_V_properties_propertiesXstartTimeX_drop: [function({g}) { return g.addV().property("name","bob").property(Cardinality.list,"location","ny","startTime",2014,"endTime",2016).property(Cardinality.list,"location","va","startTime",2016).addV().property("name","alice").property(Cardinality.list,"location","va","startTime",2014,"endTime",2016).property(Cardinality.list,"location","ny","startTime",2016) }, function({g}) { return g.V().properties().properties("startTime").drop() }, function [...]
-    g_V_filterXfalseX: [function({g, l1}) { return g.V().filter(l1) }], 
-    g_V_filterXtrueX: [function({g, l1}) { return g.V().filter(l1) }], 
-    g_V_filterXlang_eq_javaX: [function({g, l1}) { return g.V().filter(l1) }], 
-    g_VX1X_filterXage_gt_30X: [function({g, v1Id, l1}) { return g.V(v1Id).filter(l1) }], 
-    g_VX2X_filterXage_gt_30X: [function({g, v2Id, l1}) { return g.V(v2Id).filter(l1) }], 
-    g_VX1X_out_filterXage_gt_30X: [function({g, v1Id, l1}) { return g.V(v1Id).out().filter(l1) }], 
-    g_V_filterXname_startsWith_m_OR_name_startsWith_pX: [function({g, l1}) { return g.V().filter(l1) }], 
-    g_E_filterXfalseX: [function({g, l1}) { return g.E().filter(l1) }], 
-    g_E_filterXtrueX: [function({g, l1}) { return g.E().filter(l1) }], 
+    g_V_filterXfalseX: [function({g, pred1}) { return g.V().filter(pred1) }], 
+    g_V_filterXtrueX: [function({g, pred1}) { return g.V().filter(pred1) }], 
+    g_V_filterXlang_eq_javaX: [function({g, pred1}) { return g.V().filter(pred1) }], 
+    g_VX1X_filterXage_gt_30X: [function({g, vid1, pred1}) { return g.V(vid1).filter(pred1) }], 
+    g_VX2X_filterXage_gt_30X: [function({g, vid2, pred1}) { return g.V(vid2).filter(pred1) }], 
+    g_VX1X_out_filterXage_gt_30X: [function({g, vid1, pred1}) { return g.V(vid1).out().filter(pred1) }], 
+    g_V_filterXname_startsWith_m_OR_name_startsWith_pX: [function({g, pred1}) { return g.V().filter(pred1) }], 
+    g_E_filterXfalseX: [function({g, pred1}) { return g.E().filter(pred1) }], 
+    g_E_filterXtrueX: [function({g, pred1}) { return g.E().filter(pred1) }], 
     g_V_outXcreatedX_hasXname__mapXlengthX_isXgtX3XXX_name: [function({g, l1}) { return g.V().out("created").has("name",__.map(l1).is(P.gt(3))).values("name") }], 
-    g_VX1X_hasXnameX: [function({g, v1Id}) { return g.V(v1Id).has("name") }], 
-    g_VX1X_hasXcircumferenceX: [function({g, v1Id}) { return g.V(v1Id).has("circumference") }], 
-    g_VX1X_hasXname_markoX: [function({g, v1Id}) { return g.V(v1Id).has("name","marko") }], 
-    g_VX2X_hasXname_markoX: [function({g, v1Id}) { return g.V(v1Id).has("name","marko") }], 
+    g_VX1X_hasXnameX: [function({g, vid1}) { return g.V(vid1).has("name") }], 
+    g_VX1X_hasXcircumferenceX: [function({g, vid1}) { return g.V(vid1).has("circumference") }], 
+    g_VX1X_hasXname_markoX: [function({g, vid1}) { return g.V(vid1).has("name","marko") }], 
+    g_VX2X_hasXname_markoX: [function({g, vid1}) { return g.V(vid1).has("name","marko") }], 
     g_V_hasXname_markoX: [function({g}) { return g.V().has("name","marko") }], 
     g_V_hasXname_blahX: [function({g}) { return g.V().has("name","blah") }], 
     g_V_hasXage_gt_30X: [function({g}) { return g.V().has("age",P.gt(30)) }], 
     g_V_hasXage_isXgt_30XX: [function({g}) { return g.V().has("age",__.is(P.gt(30))) }], 
     g_V_hasXlabel_isXsoftwareXX: [function({g}) { return g.V().has(T.label,__.is("software")) }], 
-    g_VX1X_hasXage_gt_30X: [function({g, v1Id}) { return g.V(v1Id).has("age",P.gt(30)) }], 
-    g_VX4X_hasXage_gt_30X: [function({g, v4Id}) { return g.V(v4Id).has("age",P.gt(30)) }], 
+    g_VX1X_hasXage_gt_30X: [function({g, vid1}) { return g.V(vid1).has("age",P.gt(30)) }], 
+    g_VX4X_hasXage_gt_30X: [function({g, vid4}) { return g.V(vid4).has("age",P.gt(30)) }], 
     g_VXv1X_hasXage_gt_30X: [function({g, v1}) { return g.V(v1).has("age",P.gt(30)) }], 
     g_VXv4X_hasXage_gt_30X: [function({g, v4}) { return g.V(v4).has("age",P.gt(30)) }], 
-    g_VX1X_out_hasXid_lt_3X: [function({g, v1Id, ltXv3IdX}) { return g.V(v1Id).out().has(T.id,ltXv3IdX) }], 
-    g_VX1AsStringX_out_hasXid_2AsStringX: [function({g, v1Id, v2Id}) { return g.V(v1Id).out().hasId(v2Id) }], 
+    g_VX1X_out_hasXid_lt_3X: [function({g, xx1, vid1}) { return g.V(vid1).out().has(T.id,xx1) }], 
+    g_VX1AsStringX_out_hasXid_2AsStringX: [function({g, vid2, vid1}) { return g.V(vid1).out().hasId(vid2) }], 
     g_VX1X_out_hasXid_2X: [function({g, v2}) { return g.V(v2).has("age",P.gt(30)) }], 
-    g_VX1X_out_hasIdX2X: [function({g, v1Id, v2Id}) { return g.V(v1Id).out().hasId(v2Id) }], 
-    g_VX1X_out_hasXid_2_3X: [function({g, v1Id, v2Id, v3Id}) { return g.V(v1Id).out().hasId(v2Id,v3Id) }], 
-    g_VX1X_out_hasXid_2AsString_3AsStringX: [function({g, v1Id, v2Id, v3Id}) { return g.V(v1Id).out().hasId(v2Id,v3Id) }], 
+    g_VX1X_out_hasIdX2X: [function({g, vid2, vid1}) { return g.V(vid1).out().hasId(vid2) }], 
+    g_VX1X_out_hasXid_2_3X: [function({g, vid3, vid2, vid1}) { return g.V(vid1).out().hasId(vid2,vid3) }], 
+    g_VX1X_out_hasXid_2AsString_3AsStringX: [function({g, vid3, vid2, vid1}) { return g.V(vid1).out().hasId(vid2,vid3) }], 
     g_V_hasXblahX: [function({g}) { return g.V().has("blah") }], 
-    g_EX7X_hasXlabelXknowsX: [function({g, e7Id}) { return g.E(e7Id).hasLabel("knows") }], 
+    g_EX7X_hasXlabelXknowsX: [function({g, eid7}) { return g.E(eid7).hasLabel("knows") }], 
     g_E_hasXlabelXknowsX: [function({g}) { return g.E().hasLabel("knows") }], 
     g_E_hasLabelXuses_traversesX: [function({g}) { return g.E().hasLabel("uses","traverses") }], 
     g_V_hasLabelXperson_software_blahX: [function({g}) { return g.V().hasLabel("person","software","blah") }], 
     g_V_hasXperson_name_markoX_age: [function({g}) { return g.V().has("person","name","marko").values("age") }], 
-    g_VX1X_outE_hasXweight_inside_0_06X_inV: [function({g, v1Id}) { return g.V(v1Id).outE().has("weight",P.gt(0.0).and(P.lt(0.6))).inV() }], 
-    g_EX11X_outV_outE_hasXid_10X: [function({g, e11Id, e10Id}) { return g.E(e11Id).outV().outE().has(T.id,e10Id) }], 
-    g_EX11X_outV_outE_hasXid_10AsStringX: [function({g, e11Id, e10Id}) { return g.E(e11Id).outV().outE().has(T.id,e10Id) }], 
+    g_VX1X_outE_hasXweight_inside_0_06X_inV: [function({g, vid1}) { return g.V(vid1).outE().has("weight",P.gt(0.0).and(P.lt(0.6))).inV() }], 
+    g_EX11X_outV_outE_hasXid_10X: [function({g, eid11, eid10}) { return g.E(eid11).outV().outE().has(T.id,eid10) }], 
+    g_EX11X_outV_outE_hasXid_10AsStringX: [function({g, eid11, eid10}) { return g.E(eid11).outV().outE().has(T.id,eid10) }], 
     g_V_hasXlocationX: [function({g}) { return g.V().has("location") }], 
     g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name: [function({g}) { return g.V().hasLabel("person").has("age",P.gt(10).or(P.gte(11).and(P.lt(20))).and(P.lt(29).or(P.eq(35)))).values("name") }], 
-    g_V_in_hasIdXneqX1XX: [function({g, neqXv1IdX}) { return g.V().in_().hasId(neqXv1IdX) }], 
+    g_V_in_hasIdXneqX1XX: [function({g, xx1}) { return g.V().in_().hasId(xx1) }], 
     g_V_hasXage_withinX27X_count: [function({g}) { return g.V().has("age",P.within([27])).count() }], 
     g_V_hasXage_withinX27_29X_count: [function({g}) { return g.V().has("age",P.within([27, 29])).count() }], 
     g_V_hasXage_withoutX27X_count: [function({g}) { return g.V().has("age",P.without([27])).count() }], 
@@ -193,12 +193,12 @@ const gremlins = {
     g_V_bothE_properties_dedup_hasKeyXweightX_value: [function({g}) { return g.V().bothE().properties().dedup().hasKey("weight").value() }], 
     g_V_bothE_properties_dedup_hasKeyXweightX_hasValueXltX0d3XX_value: [function({g}) { return g.V().bothE().properties().dedup().hasKey("weight").hasValue(P.lt(0.3)).value() }], 
     g_V_hasNotXageX_name: [function({g}) { return g.V().hasNot("age").values("name") }], 
-    g_V_hasIdX1X_hasIdX2X: [function({g, v1Id, v2Id}) { return g.V().hasId(v1Id).hasId(v2Id) }], 
+    g_V_hasIdX1X_hasIdX2X: [function({g, vid2, vid1}) { return g.V().hasId(vid1).hasId(vid2) }], 
     g_V_hasLabelXpersonX_hasLabelXsoftwareX: [function({g}) { return g.V().hasLabel("person").hasLabel("software") }], 
-    g_V_hasIdXemptyX_count: [function({g, l}) { return g.V().hasId(l).count() }], 
-    g_V_hasIdXwithinXemptyXX_count: [function({g, withinXlX}) { return g.V().hasId(withinXlX).count() }], 
-    g_V_hasIdXwithoutXemptyXX_count: [function({g, withoutXlX}) { return g.V().hasId(withoutXlX).count() }], 
-    g_V_notXhasIdXwithinXemptyXXX_count: [function({g, withinXlX}) { return g.V().not(__.hasId(withinXlX)).count() }], 
+    g_V_hasIdXemptyX_count: [function({g, xx1}) { return g.V().hasId(xx1).count() }], 
+    g_V_hasIdXwithinXemptyXX_count: [function({g, xx1}) { return g.V().hasId(xx1).count() }], 
+    g_V_hasIdXwithoutXemptyXX_count: [function({g, xx1}) { return g.V().hasId(xx1).count() }], 
+    g_V_notXhasIdXwithinXemptyXXX_count: [function({g, xx1}) { return g.V().not(__.hasId(xx1)).count() }], 
     g_V_hasXname_containingXarkXX: [function({g}) { return g.V().has("name",TextP.containing("ark")) }], 
     g_V_hasXname_startingWithXmarXX: [function({g}) { return g.V().has("name",TextP.startingWith("mar")) }], 
     g_V_hasXname_endingWithXasXX: [function({g}) { return g.V().has("name",TextP.endingWith("as")) }], 
@@ -216,12 +216,12 @@ const gremlins = {
     g_V_orXhasXage_gt_27X__outE_count_gte_2X_name: [function({g}) { return g.V().or(__.has("age",P.gt(27)),__.outE().count().is(P.gte(2))).values("name") }], 
     g_V_orXoutEXknowsX__hasXlabel_softwareX_or_hasXage_gte_35XX_name: [function({g}) { return g.V().or(__.outE("knows"),__.has(T.label,"software").or().has("age",P.gte(35))).values("name") }], 
     g_V_asXaX_orXselectXaX_selectXaXX: [function({g}) { return g.V().as("a").or(__.select("a"),__.select("a")) }], 
-    g_VX1X_out_limitX2X: [function({g, v1Id}) { return g.V(v1Id).out().limit(2) }], 
+    g_VX1X_out_limitX2X: [function({g, vid1}) { return g.V(vid1).out().limit(2) }], 
     g_V_localXoutE_limitX1X_inVX_limitX3X: [function({g}) { return g.V().local(__.outE().limit(1)).inV().limit(3) }], 
-    g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV: [function({g, v1Id}) { return g.V(v1Id).out("knows").outE("created").range(0,1).inV() }], 
-    g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X: [function({g, v1Id}) { return g.V(v1Id).out("knows").out("created").range(0,1) }], 
-    g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X: [function({g, v1Id}) { return g.V(v1Id).out("created").in_("created").range(1,3) }], 
-    g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV: [function({g, v1Id}) { return g.V(v1Id).out("created").inE("created").range(1,3).outV() }], 
+    g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV: [function({g, vid1}) { return g.V(vid1).out("knows").outE("created").range(0,1).inV() }], 
+    g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X: [function({g, vid1}) { return g.V(vid1).out("knows").out("created").range(0,1) }], 
+    g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X: [function({g, vid1}) { return g.V(vid1).out("created").in_("created").range(1,3) }], 
+    g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV: [function({g, vid1}) { return g.V(vid1).out("created").inE("created").range(1,3).outV() }], 
     g_V_repeatXbothX_timesX3X_rangeX5_11X: [function({g}) { return g.V().repeat(__.both()).times(3).range(5,11) }], 
     g_V_asXaX_in_asXbX_in_asXcX_selectXa_b_cX_byXnameX_limitXlocal_2X: [function({g}) { return g.V().as("a").in_().as("b").in_().as("c").select("a","b","c").by("name").limit(Scope.local,2) }], 
     g_V_asXaX_in_asXbX_in_asXcX_selectXa_b_cX_byXnameX_limitXlocal_1X: [function({g}) { return g.V().as("a").in_().as("b").in_().as("c").select("a","b","c").by("name").limit(Scope.local,1) }], 
@@ -240,7 +240,7 @@ const gremlins = {
     g_V_localXoutE_sampleX1X_byXweightXX: [function({g}) { return g.V().local(__.outE().sample(1).by("weight")) }], 
     g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX: [function({g}) { return g.V().group().by(T.label).by(__.bothE().values("weight").sample(2).fold()) }], 
     g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX: [function({g}) { return g.V().group().by(T.label).by(__.bothE().values("weight").fold().sample(Scope.local,5)) }], 
-    g_VX1X_outXcreatedX_inXcreatedX_simplePath: [function({g, v1Id}) { return g.V(v1Id).out("created").in_("created").simplePath() }], 
+    g_VX1X_outXcreatedX_inXcreatedX_simplePath: [function({g, vid1}) { return g.V(vid1).out("created").in_("created").simplePath() }], 
     g_V_repeatXboth_simplePathX_timesX3X_path: [function({g}) { return g.V().repeat(__.both().simplePath()).times(3).path() }], 
     g_V_asXaX_out_asXbX_out_asXcX_simplePath_byXlabelX_fromXbX_toXcX_path_byXnameX: [function({g}) { return g.V().as("a").out().as("b").out().as("c").simplePath().by(T.label).from_("b").to("c").path().by("name") }], 
     g_V_valuesXnameX_order_tailXglobal_2X: [function({g}) { return g.V().values("name").order().tail(Scope.global,2) }], 
@@ -262,14 +262,14 @@ const gremlins = {
     g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX: [function({g}) { return g.V().has("age").as("a").out().in_().has("age").as("b").select("a","b").where(__.as("b").has("name","marko")) }], 
     g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX: [function({g}) { return g.V().has("age").as("a").out().in_().has("age").as("b").select("a","b").where(__.as("a").out("knows").as("b")) }], 
     g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name: [function({g}) { return g.V().as("a").out("created").where(__.as("a").values("name").is("josh")).in_("created").values("name") }], 
-    g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX: [function({g, v1Id, l}) { return g.withSideEffect("a",l).V(v1Id).out("created").in_("created").values("name").where(P.within(["a"])) }], 
-    g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name: [function({g, v1Id}) { return g.V(v1Id).as("a").out("created").in_("created").as("b").where("a",P.neq("b")).values("name") }], 
-    g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX: [function({g, v1Id}) { return g.V(v1Id).as("a").out("created").in_("created").as("b").where(__.as("b").out("created").has("name","ripple")).values("age","name") }], 
-    g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name: [function({g, v1Id}) { return g.V(v1Id).as("a").out("created").in_("created").where(P.eq("a")).values("name") }], 
-    g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name: [function({g, v1Id}) { return g.V(v1Id).as("a").out("created").in_("created").where(P.neq("a")).values("name") }], 
-    g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX: [function({g, v1Id}) { return g.V(v1Id).out().aggregate("x").out().where(P.without(["x"])) }], 
-    g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX: [function({g, v1Id, v2}) { return g.withSideEffect("a",v2).V(v1Id).out().where(P.neq("a")) }], 
-    g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path: [function({g, v1Id}) { return g.V(v1Id).repeat(__.bothE("created").where(P.without(["e"])).aggregate("e").otherV()).emit().path() }], 
+    g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX: [function({g, initial, vid1}) { return g.withSideEffect("a",initial).V(vid1).out("created").in_("created").values("name").where(P.within(["a"])) }], 
+    g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name: [function({g, vid1}) { return g.V(vid1).as("a").out("created").in_("created").as("b").where("a",P.neq("b")).values("name") }], 
+    g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX: [function({g, vid1}) { return g.V(vid1).as("a").out("created").in_("created").as("b").where(__.as("b").out("created").has("name","ripple")).values("age","name") }], 
+    g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name: [function({g, vid1}) { return g.V(vid1).as("a").out("created").in_("created").where(P.eq("a")).values("name") }], 
+    g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name: [function({g, vid1}) { return g.V(vid1).as("a").out("created").in_("created").where(P.neq("a")).values("name") }], 
+    g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX: [function({g, vid1}) { return g.V(vid1).out().aggregate("x").out().where(P.without(["x"])) }], 
+    g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX: [function({g, vid1, v2}) { return g.withSideEffect("a",v2).V(vid1).out().where(P.neq("a")) }], 
+    g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path: [function({g, vid1}) { return g.V(vid1).repeat(__.bothE("created").where(P.without(["e"])).aggregate("e").otherV()).emit().path() }], 
     g_V_whereXnotXoutXcreatedXXX_name: [function({g}) { return g.V().where(__.not(__.out("created"))).values("name") }], 
     g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_selectXa_bX: [function({g}) { return g.V().as("a").out().as("b").where(__.and(__.as("a").out("knows").as("b"),__.or(__.as("b").out("created").has("name","ripple"),__.as("b").in_("knows").count().is(P.neq(0))))).select("a","b") }], 
     g_V_whereXoutXcreatedX_and_outXknowsX_or_inXknowsXX_valuesXnameX: [function({g}) { return g.V().where(__.out("created").and().out("knows").or().in_("knows")).values("name") }], 
@@ -279,20 +279,20 @@ const gremlins = {
     g_V_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_gtXbXX_byXageX_selectXa_bX_byXnameX: [function({g}) { return g.V().as("a").out("created").in_("created").as("b").where("a",P.gt("b")).by("age").select("a","b").by("name") }], 
     g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX: [function({g}) { return g.V().as("a").outE("created").as("b").inV().as("c").where("a",P.gt("b").or(P.eq("b"))).by("age").by("weight").by("weight").select("a","c").by("name") }], 
     g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX: [function({g}) { return g.V().as("a").outE("created").as("b").inV().as("c").in_("created").as("d").where("a",P.lt("b").or(P.gt("c")).and(P.neq("d"))).by("age").by("weight").by(__.in_("created").values("age").min()).select("a","c","d").by("name") }], 
-    g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name: [function({g, v1Id}) { return g.V(v1Id).as("a").out().has("age").where(P.gt("a")).by("age").values("name") }], 
-    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX: [function({g, v1Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","rip [...]
-    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X: [function({g, v1Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).p [...]
+    g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name: [function({g, vid1}) { return g.V(vid1).as("a").out().has("age").where(P.gt("a")).by("age").values("name") }], 
+    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX: [function({g, vid1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","rip [...]
+    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X: [function({g, vid1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).p [...]
     g_V_outE_propertyXweight_nullX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property("lang"," [...]
-    g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX: [function({g, v1Id, v2Id, v3Id, v4Id, v5Id, v6Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).a [...]
-    g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X: [function({g, v1Id, v2Id, v4Id, v6Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").propert [...]
-    g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX: [function({g, v1Id, v2Id, v3Id, v4Id, v5Id, v6Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age", [...]
+    g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).a [...]
+    g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X: [function({g, vid1, vid2, vid4, vid6}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").propert [...]
+    g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age", [...]
     g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X: [function({g, v6, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5). [...]
     g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX: [function({g}) { return g.addV().as("first").repeat(__.addE("next").to(__.addV()).inV()).times(5).addE("next").to(__.select("first")) }, function({g}) { return g.V() }, function({g}) { return g.E() }, function({g}) { return g.E().hasLabel("next") }, function({g}) { return g.V().limit(1).bothE() }, function({g}) { return g.V().limit(1).inE() }, function({g}) { return g.V().limit(1).outE() }], 
     g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX: [function({g, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property( [...]
     g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX: [function({g, v2}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh"). [...]
-    g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, v6, v1, dotOne}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property( [...]
-    g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X: [function({g, v6, v1, dotOne}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("na [...]
-    g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX: [function({g, v1Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.i [...]
+    g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, v6, xx1, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("na [...]
+    g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X: [function({g, v6, xx1, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name" [...]
+    g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX: [function({g, vid1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.i [...]
     g_V_addVXanimalX_propertyXage_0X: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property("lang" [...]
     g_addVXpersonX_propertyXname_stephenX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property(" [...]
     g_V_hasLabelXpersonX_propertyXname_nullX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").propert [...]
@@ -310,8 +310,8 @@ const gremlins = {
     g_addVXnullX_propertyXid_nullX: [function({g}) { return g.addV(null).property(T.id,null) }, function({g}) { return g.V().hasLabel("vertex") }], 
     g_addV_propertyXlabel_personX: [function({g}) { return g.addV().property(T.label,"person") }, function({g}) { return g.V().hasLabel("person") }], 
     g_V_coalesceXoutXfooX_outXbarXX: [function({g}) { return g.V().coalesce(__.out("foo"),__.out("bar")) }], 
-    g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX: [function({g, v1Id}) { return g.V(v1Id).coalesce(__.out("knows"),__.out("created")).values("name") }], 
-    g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX: [function({g, v1Id}) { return g.V(v1Id).coalesce(__.out("created"),__.out("knows")).values("name") }], 
+    g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX: [function({g, vid1}) { return g.V(vid1).coalesce(__.out("knows"),__.out("created")).values("name") }], 
+    g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX: [function({g, vid1}) { return g.V(vid1).coalesce(__.out("created"),__.out("knows")).values("name") }], 
     g_V_coalesceXoutXlikesX_outXknowsX_inXcreatedXX_groupCount_byXnameX: [function({g}) { return g.V().coalesce(__.out("likes"),__.out("knows"),__.out("created")).groupCount().by("name") }], 
     g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX: [function({g}) { return g.V().coalesce(__.outE("knows"),__.outE("created")).otherV().path().by("name").by(T.label) }], 
     g_V_outXcreatedX_order_byXnameX_coalesceXname_constantXxXX: [function({g}) { return g.V().out("created").order().by("name").coalesce(__.values("name"),__.constant("x")) }], 
@@ -333,28 +333,28 @@ const gremlins = {
     g_V_repeatXoutX_timesX3X_count: [function({g}) { return g.V().repeat(__.out()).times(3).count() }], 
     g_V_elementMap: [function({g}) { return g.V().elementMap() }], 
     g_V_elementMapXname_ageX: [function({g}) { return g.V().elementMap("name","age") }], 
-    g_EX11X_elementMap: [function({g, e11Id}) { return g.E(e11Id).elementMap() }], 
+    g_EX11X_elementMap: [function({g, eid11}) { return g.E(eid11).elementMap() }], 
     g_V_asXaX_flatMapXselectXaXX: [function({g}) { return g.V().as("a").flatMap(__.select("a")) }], 
     g_V_fold: [function({g}) { return g.V().fold() }], 
     g_V_fold_unfold: [function({g}) { return g.V().fold().unfold() }], 
     g_V_age_foldX0_plusX: [function({g}) { return g.V().values("age").fold(0,Operator.sum) }], 
-    g_VX1X_V_valuesXnameX: [function({g, v1Id}) { return g.V(v1Id).V().values("name") }], 
+    g_VX1X_V_valuesXnameX: [function({g, vid1}) { return g.V(vid1).V().values("name") }], 
     g_V_outXknowsX_V_name: [function({g}) { return g.V().out("knows").V().values("name") }], 
     g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name: [function({g}) { return g.V().has("artist","name","Garcia").in_("sungBy").as("song").V().has("artist","name","Willie_Dixon").in_("writtenBy").where(P.eq("song")).values("name") }], 
-    g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX: [function({g, software, v1Id, v2Id, v3Id, v4Id, v5Id, v6Id}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("so [...]
+    g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX: [function({g, xx1, vid1, vid2, vid3, vid4, vid5, vid6}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("softwar [...]
     g_V_hasLabelXsoftwareX_index_unfold: [function({g}) { return g.V().hasLabel("software").index().unfold() }], 
     g_V_hasLabelXsoftwareX_order_byXnameX_index_withXmapX: [function({g}) { return g.V().hasLabel("software").order().by("name").index().with_("~tinkerpop.index.indexer",1) }], 
     g_V_hasLabelXsoftwareX_name_fold_orderXlocalX_index_unfold_order_byXtailXlocal_1XX: [function({g}) { return g.V().hasLabel("software").values("name").fold().order(Scope.local).index().unfold().order().by(__.tail(Scope.local,1)) }], 
     g_V_hasLabelXpersonX_name_fold_orderXlocalX_index_withXmapX: [function({g}) { return g.V().hasLabel("person").values("name").fold().order(Scope.local).index().with_("~tinkerpop.index.indexer",1) }], 
-    g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX: [function({g, v1Id}) { return g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name","peter").or().loops().is(3)).has("name","peter").path().by("name") }], 
-    g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX: [function({g, v1Id}) { return g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name","peter").or().loops().is(2)).has("name","peter").path().by("name") }], 
-    g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX: [function({g, v1Id}) { return g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name","peter").and().loops().is(3)).has("name","peter").path().by("name") }], 
+    g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX: [function({g, vid1}) { return g.V(vid1).repeat(__.both().simplePath()).until(__.has("name","peter").or().loops().is(3)).has("name","peter").path().by("name") }], 
+    g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX: [function({g, vid1}) { return g.V(vid1).repeat(__.both().simplePath()).until(__.has("name","peter").or().loops().is(2)).has("name","peter").path().by("name") }], 
+    g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX: [function({g, vid1}) { return g.V(vid1).repeat(__.both().simplePath()).until(__.has("name","peter").and().loops().is(3)).has("name","peter").path().by("name") }], 
     g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX: [function({g}) { return g.V().emit(__.has("name","marko").or().loops().is(2)).repeat(__.out()).values("name") }], 
-    g_VX1X_mapXnameX: [function({g, v1Id, l}) { return g.V(v1Id).map(l) }], 
-    g_VX1X_outE_label_mapXlengthX: [function({g, v1Id, l}) { return g.V(v1Id).outE().label().map(l) }], 
-    g_VX1X_out_mapXnameX_mapXlengthX: [function({g, v1Id, l1, l2}) { return g.V(v1Id).out().map(l1).map(l2) }], 
-    g_withPath_V_asXaX_out_mapXa_nameX: [function({g, l}) { return g.withPath().V().as("a").out().map(l) }], 
-    g_withPath_V_asXaX_out_out_mapXa_name_it_nameX: [function({g, l}) { return g.withPath().V().as("a").out().out().map(l) }], 
+    g_VX1X_mapXnameX: [function({g, l1, vid1}) { return g.V(vid1).map(l1) }], 
+    g_VX1X_outE_label_mapXlengthX: [function({g, l1, vid1}) { return g.V(vid1).outE().label().map(l1) }], 
+    g_VX1X_out_mapXnameX_mapXlengthX: [function({g, l1, l2, vid1}) { return g.V(vid1).out().map(l1).map(l2) }], 
+    g_withPath_V_asXaX_out_mapXa_nameX: [function({g, l1}) { return g.withPath().V().as("a").out().map(l1) }], 
+    g_withPath_V_asXaX_out_out_mapXa_name_it_nameX: [function({g, l1}) { return g.withPath().V().as("a").out().out().map(l1) }], 
     g_V_mapXselectXaXX: [function({g}) { return g.V().as("a").map(__.select("a")) }], 
     g_V_mapXconstantXnullXX: [function({g}) { return g.V().map(__.constant(null)) }], 
     g_V_valueMap_matchXa_selectXnameX_bX: [function({g}) { return g.V().valueMap().match(__.as("a").select("name").as("b")) }], 
@@ -395,7 +395,7 @@ const gremlins = {
     g_V_outE_mathX0_minus_itX_byXweightX: [function({g}) { return g.V().outE().math("0-_").by("weight") }], 
     g_V_hasXageX_valueMap_mathXit_plus_itXbyXselectXageX_unfoldXX: [function({g}) { return g.V().has("age").valueMap().math("_+_").by(__.select("age").unfold()) }], 
     g_V_asXaX_outXknowsX_asXbX_mathXa_plus_bX_byXageX: [function({g}) { return g.V().as("a").out("knows").as("b").math("a + b").by("age") }], 
-    g_withSideEffectXx_100X_V_age_mathX__plus_xX: [function({g, x}) { return g.withSideEffect("x",x).V().values("age").math("_ + x") }], 
+    g_withSideEffectXx_100X_V_age_mathX__plus_xX: [function({g, initial}) { return g.withSideEffect("x",initial).V().values("age").math("_ + x") }], 
     g_V_asXaX_outXcreatedX_asXbX_mathXb_plus_aX_byXinXcreatedX_countX_byXageX: [function({g}) { return g.V().as("a").out("created").as("b").math("b + a").by(__.in_("created").count()).by("age") }], 
     g_withSackX1X_injectX1X_repeatXsackXsumX_byXconstantX1XXX_timesX5X_emit_mathXsin__X_byXsackX: [function({g}) { return g.withSack(1).inject(1).repeat(__.sack(Operator.sum).by(__.constant(1))).times(5).emit().math("sin _").by(__.sack()) }], 
     g_V_projectXa_b_cX_byXbothE_weight_sumX_byXbothE_countX_byXnameX_order_byXmathXa_div_bX_descX_selectXcX: [function({g}) { return g.V().project("a","b","c").by(__.bothE().values("weight").sum()).by(__.bothE().count()).by("name").order().by(__.math("a / b"),Order.desc).select("c") }], 
@@ -420,13 +420,13 @@ const gremlins = {
     g_V_name_fold_minXlocalX: [function({g}) { return g.V().values("name").fold().min(Scope.local) }], 
     g_V_repeatXbothX_timesX5X_age_min: [function({g}) { return g.V().repeat(__.both()).times(5).values("age").min() }], 
     g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX: [function({g}) { return g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").min()) }], 
-    g_V_foo_injectX9999999999X_min: [function({g, injectVal}) { return g.V().values("foo").inject(injectVal).min() }], 
+    g_V_foo_injectX9999999999X_min: [function({g, xx1}) { return g.V().values("foo").inject(xx1).min() }], 
     g_V_name_order: [function({g}) { return g.V().values("name").order() }], 
-    g_V_name_order_byXa1_b1X_byXb2_a2X: [function({g, l1, l2}) { return g.V().values("name").order().by(l1).by(l2) }], 
+    g_V_name_order_byXa1_b1X_byXb2_a2X: [function({g, c1, c2}) { return g.V().values("name").order().by(c1).by(c2) }], 
     g_V_order_byXname_ascX_name: [function({g}) { return g.V().order().by("name",Order.asc).values("name") }], 
     g_V_order_byXnameX_name: [function({g}) { return g.V().order().by("name").values("name") }], 
     g_V_outE_order_byXweight_descX_weight: [function({g}) { return g.V().outE().order().by("weight",Order.desc).values("weight") }], 
-    g_V_order_byXname_a1_b1X_byXname_b2_a2X_name: [function({g, l1, l2}) { return g.V().order().by("name",l1).by("name",l2).values("name") }], 
+    g_V_order_byXname_a1_b1X_byXname_b2_a2X_name: [function({g, c1, c2}) { return g.V().order().by("name",c1).by("name",c2).values("name") }], 
     g_V_asXaX_outXcreatedX_asXbX_order_byXshuffleX_selectXa_bX: [function({g}) { return g.V().as("a").out("created").as("b").order().by(Order.shuffle).select("a","b") }], 
     g_V_both_hasLabelXpersonX_order_byXage_descX_limitX5X_name: [function({g}) { return g.V().both().hasLabel("person").order().by("age",Order.desc).limit(5).values("name") }], 
     g_V_properties_order_byXkey_descX_key: [function({g}) { return g.V().properties().order().by(T.key,Order.desc).key() }], 
@@ -441,7 +441,7 @@ const gremlins = {
     g_V_order_byXoutE_count_descX: [function({g}) { return g.V().order().by(__.outE().count(),Order.desc) }], 
     g_V_hasLabelXpersonX_order_byXageX: [function({g}) { return g.V().hasLabel("person").order().by("age") }], 
     g_VX1X_hasXlabel_personX_mapXmapXint_ageXX_orderXlocalX_byXvalues_descX_byXkeys_ascX: [function({g, l1, v1}) { return g.V(v1).hasLabel("person").map(l1).order(Scope.local).by(Column.values,Order.desc).by(Column.keys,Order.asc) }], 
-    g_VX1X_elementMap_orderXlocalX_byXkeys_descXunfold: [function({g, v1Id}) { return g.V(v1Id).elementMap().order(Scope.local).by(Column.keys,Order.desc).unfold() }], 
+    g_VX1X_elementMap_orderXlocalX_byXkeys_descXunfold: [function({g, vid1}) { return g.V(vid1).elementMap().order(Scope.local).by(Column.keys,Order.desc).unfold() }], 
     g_V_pageRank_hasXpageRankX: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().pageRank().has("gremlin.pageRankVertexProgram.pageRank") }, function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().pageRank().has("gremlin.pageRankVertexProgram.pageRank") }], 
     g_V_outXcreatedX_pageRank_withXedges_bothEX_withXpropertyName_projectRankX_withXtimes_0X_valueMapXname_projectRankX: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().out("created").pageRank().with_("~tinkerpop.pageRank.edges",__.bothE()).with_("~tinkerpop.pageRank.propertyName","projectRank").with_("~tinkerpop.pageRank.times",0).valueMap("name","projectRank") }], 
     g_V_pageRank_order_byXpageRank_descX_byXnameX_name: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().pageRank().order().by("gremlin.pageRankVertexProgram.pageRank",Order.desc).by("name").values("name") }], 
@@ -451,12 +451,12 @@ const gremlins = {
     g_V_pageRank_withXpropertyName_pageRankX_asXaX_outXknowsX_pageRank_asXbX_selectXa_bX_by_byXmathX: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().pageRank().with_("~tinkerpop.pageRank.propertyName","pageRank").as("a").out("knows").values("pageRank").as("b").select("a","b").by().by(__.math("ceil(_ * 100)")) }], 
     g_V_hasLabelXsoftwareX_hasXname_rippleX_pageRankX1X_withXedges_inEXcreatedX_withXtimes_1X_withXpropertyName_priorsX_inXcreatedX_unionXboth__identityX_valueMapXname_priorsX: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().hasLabel("software").has("name","ripple").pageRank(1.0).with_("~tinkerpop.pageRank.edges",__.inE("created")).with_("~tinkerpop.pageRank.times",1).with_ [...]
     g_V_outXcreatedX_groupXmX_byXlabelX_pageRankX1X_withXpropertyName_pageRankX_withXedges_inEX_withXtimes_1X_inXcreatedX_groupXmX_byXpageRankX_capXmX: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().out("created").group("m").by(T.label).pageRank(1.0).with_("~tinkerpop.pageRank.propertyName","pageRank").with_("~tinkerpop.pageRank.edges",__.inE()).with_("~tinkerpop.pageRank. [...]
-    g_VX1X_name_path: [function({g, v1Id}) { return g.V(v1Id).values("name").path() }], 
-    g_VX1X_out_path_byXageX_byXnameX: [function({g, v1Id}) { return g.V(v1Id).out().path().by("age").by("name") }], 
+    g_VX1X_name_path: [function({g, vid1}) { return g.V(vid1).values("name").path() }], 
+    g_VX1X_out_path_byXageX_byXnameX: [function({g, vid1}) { return g.V(vid1).out().path().by("age").by("name") }], 
     g_V_repeatXoutX_timesX2X_path_byXitX_byXnameX_byXlangX: [function({g}) { return g.V().repeat(__.out()).times(2).path().by().by("name").by("lang") }], 
     g_V_out_out_path_byXnameX_byXageX: [function({g}) { return g.V().out().out().path().by("name").by("age") }], 
     g_V_asXaX_hasXname_markoX_asXbX_hasXage_29X_asXcX_path: [function({g}) { return g.V().as("a").has("name","marko").as("b").has("age",29).as("c").path() }], 
-    g_VX1X_outEXcreatedX_inV_inE_outV_path: [function({g, v1Id}) { return g.V(v1Id).outE("created").inV().inE().outV().path() }], 
+    g_VX1X_outEXcreatedX_inV_inE_outV_path: [function({g, vid1}) { return g.V(vid1).outE("created").inV().inE().outV().path() }], 
     g_V_asXaX_out_asXbX_out_asXcX_path_fromXbX_toXcX_byXnameX: [function({g}) { return g.V().as("a").out().as("b").out().as("c").path().from_("b").to("c").by("name") }], 
     g_V_peerPressure_hasXclusterX: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().peerPressure().has("gremlin.peerPressureVertexProgram.cluster") }, function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().peerPressure().has("gremlin.peerPressureVertexProgram.cluster") }], 
     g_V_peerPressure_withXpropertyName_clusterX_withXedges_outEXknowsXX_pageRankX1X_byXrankX_withXedges_outEXknowsX_withXtimes_2X_group_byXclusterX_byXrank_sumX_limitX100X: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().peerPressure().with_("~tinkerpop.peerPressure.propertyName","cluster").with_("~tinkerpop.peerPressure.edges",__.outE("knows")).pageRank(1.0).with_("~tinker [...]
@@ -467,10 +467,10 @@ const gremlins = {
     g_V_hasXageX_propertiesXnameX: [function({g}) { return g.V().has("age").properties("name").value() }], 
     g_V_hasXageX_propertiesXname_ageX_value: [function({g}) { return g.V().has("age").properties("name","age").value() }], 
     g_V_hasXageX_propertiesXage_nameX_value: [function({g}) { return g.V().has("age").properties("age","name").value() }], 
-    get_g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX: [function({g, v1Id}) { return g.V(v1Id).as("a").out("knows").as("b").select("a","b") }], 
-    g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX_byXnameX: [function({g, v1Id}) { return g.V(v1Id).as("a").out("knows").as("b").select("a","b").by("name") }], 
-    g_VX1X_asXaX_outXknowsX_asXbX_selectXaX: [function({g, v1Id}) { return g.V(v1Id).as("a").out("knows").as("b").select("a") }], 
-    g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX: [function({g, v1Id}) { return g.V(v1Id).as("a").out("knows").as("b").select("a").by("name") }], 
+    get_g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX: [function({g, vid1}) { return g.V(vid1).as("a").out("knows").as("b").select("a","b") }], 
+    g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX_byXnameX: [function({g, vid1}) { return g.V(vid1).as("a").out("knows").as("b").select("a","b").by("name") }], 
+    g_VX1X_asXaX_outXknowsX_asXbX_selectXaX: [function({g, vid1}) { return g.V(vid1).as("a").out("knows").as("b").select("a") }], 
+    g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX: [function({g, vid1}) { return g.V(vid1).as("a").out("knows").as("b").select("a").by("name") }], 
     g_V_asXaX_out_asXbX_selectXa_bX_byXnameX: [function({g}) { return g.V().as("a").out().as("b").select("a","b").by("name") }], 
     g_V_asXaX_out_aggregateXxX_asXbX_selectXa_bX_byXnameX: [function({g}) { return g.V().as("a").out().aggregate("x").as("b").select("a","b").by("name") }], 
     g_V_asXaX_name_order_asXbX_selectXa_bX_byXnameX_by_XitX: [function({g}) { return g.V().as("a").values("name").order().as("b").select("a","b").by("name").by() }], 
@@ -478,14 +478,14 @@ const gremlins = {
     g_V_hasXname_isXmarkoXX_asXaX_selectXaX: [function({g}) { return g.V().has("name",__.is("marko")).as("a").select("a") }], 
     g_V_label_groupCount_asXxX_selectXxX: [function({g}) { return g.V().label().groupCount().as("x").select("x") }], 
     g_V_hasLabelXpersonX_asXpX_mapXbothE_label_groupCountX_asXrX_selectXp_rX: [function({g}) { return g.V().hasLabel("person").as("p").map(__.bothE().label().groupCount()).as("r").select("p","r") }], 
-    g_V_chooseXoutE_count_isX0X__asXaX__asXbXX_chooseXselectXaX__selectXaX__selectXbXX: [function({g, zero}) { return g.V().choose(__.outE().count().is(zero),__.as("a"),__.as("b")).choose(__.select("a"),__.select("a"),__.select("b")) }], 
-    g_VX1X_groupXaX_byXconstantXaXX_byXnameX_selectXaX_selectXaX: [function({g, v1Id}) { return g.V(v1Id).group("a").by(__.constant("a")).by(__.values("name")).barrier().select("a").select("a") }], 
-    g_VX1X_asXhereX_out_selectXhereX: [function({g, v1Id}) { return g.V(v1Id).as("here").out().select("here") }], 
-    g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX: [function({g, v4Id}) { return g.V(v4Id).as("here").out().select("here") }], 
-    g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX_name: [function({g, v4Id}) { return g.V(v4Id).out().as("here").has("lang","java").select("here").values("name") }], 
-    g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX: [function({g, v1Id}) { return g.V(v1Id).outE().as("here").inV().has("name","vadas").select("here") }], 
-    g_VX1X_outEXknowsX_hasXweight_1X_asXhereX_inV_hasXname_joshX_selectXhereX: [function({g, v1Id}) { return g.V(v1Id).outE("knows").has("weight",1.0).as("here").inV().has("name","josh").select("here") }], 
-    g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_asXfakeX_inV_hasXname_joshX_selectXhereX: [function({g, v1Id}) { return g.V(v1Id).outE("knows").as("here").has("weight",1.0).as("fake").inV().has("name","josh").select("here") }], 
+    g_V_chooseXoutE_count_isX0X__asXaX__asXbXX_chooseXselectXaX__selectXaX__selectXbXX: [function({g, xx1}) { return g.V().choose(__.outE().count().is(xx1),__.as("a"),__.as("b")).choose(__.select("a"),__.select("a"),__.select("b")) }], 
+    g_VX1X_groupXaX_byXconstantXaXX_byXnameX_selectXaX_selectXaX: [function({g, vid1}) { return g.V(vid1).group("a").by(__.constant("a")).by(__.values("name")).barrier().select("a").select("a") }], 
+    g_VX1X_asXhereX_out_selectXhereX: [function({g, vid1}) { return g.V(vid1).as("here").out().select("here") }], 
+    g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX: [function({g, vid4}) { return g.V(vid4).as("here").out().select("here") }], 
+    g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX_name: [function({g, vid4}) { return g.V(vid4).out().as("here").has("lang","java").select("here").values("name") }], 
+    g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX: [function({g, vid1}) { return g.V(vid1).outE().as("here").inV().has("name","vadas").select("here") }], 
+    g_VX1X_outEXknowsX_hasXweight_1X_asXhereX_inV_hasXname_joshX_selectXhereX: [function({g, vid1}) { return g.V(vid1).outE("knows").has("weight",1.0).as("here").inV().has("name","josh").select("here") }], 
+    g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_asXfakeX_inV_hasXname_joshX_selectXhereX: [function({g, vid1}) { return g.V(vid1).outE("knows").as("here").has("weight",1.0).as("fake").inV().has("name","josh").select("here") }], 
     g_V_asXhereXout_name_selectXhereX: [function({g}) { return g.V().as("here").out().values("name").select("here") }], 
     g_V_outXcreatedX_unionXasXprojectX_inXcreatedX_hasXname_markoX_selectXprojectX__asXprojectX_inXcreatedX_inXknowsX_hasXname_markoX_selectXprojectXX_groupCount_byXnameX: [function({g}) { return g.V().out("created").union(__.as("project").in_("created").has("name","marko").select("project"),__.as("project").in_("created").in_("knows").has("name","marko").select("project")).groupCount().by("name") }], 
     g_V_untilXout_outX_repeatXin_asXaXX_selectXaX_byXtailXlocalX_nameX: [function({g}) { return g.V().until(__.out().out()).repeat(__.in_().as("a")).select("a").by(__.tail(Scope.local).values("name")) }], 
@@ -495,12 +495,12 @@ const gremlins = {
     g_V_outE_weight_groupCount_unfold_selectXvaluesX_unfold: [function({g}) { return g.V().outE().values("weight").groupCount().unfold().select(Column.values).unfold() }], 
     g_V_untilXout_outX_repeatXin_asXaX_in_asXbXX_selectXa_bX_byXnameX: [function({g}) { return g.V().until(__.out().out()).repeat(__.in_().as("a").in_().as("b")).select("a","b").by("name") }], 
     g_V_outE_weight_groupCount_selectXvaluesX_unfold: [function({g}) { return g.V().outE().values("weight").groupCount().select(Column.values).unfold() }], 
-    g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX: [function({g, v1Id}) { return g.V(v1Id).as("a").out("knows").as("b").select("a","b") }], 
+    g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX: [function({g, vid1}) { return g.V(vid1).as("a").out("knows").as("b").select("a","b") }], 
     g_V_asXaX_whereXoutXknowsXX_selectXaX: [function({g}) { return g.V().as("a").where(__.out("knows")).select("a") }], 
-    g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXfirst_aX: [function({g, v1Id}) { return g.V(v1Id).as("a").repeat(__.out().as("a")).times(2).select(Pop.first,"a") }], 
+    g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXfirst_aX: [function({g, vid1}) { return g.V(vid1).as("a").repeat(__.out().as("a")).times(2).select(Pop.first,"a") }], 
     g_V_asXaX_outXknowsX_asXbX_localXselectXa_bX_byXnameXX: [function({g}) { return g.V().as("a").out("knows").as("b").local(__.select("a","b").by("name")) }], 
-    g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXlast_aX: [function({g, v1Id}) { return g.V(v1Id).as("a").repeat(__.out().as("a")).times(2).select(Pop.last,"a") }], 
-    g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_inV_hasXname_joshX_selectXhereX: [function({g, v1Id}) { return g.V(v1Id).outE("knows").as("here").has("weight",1.0).inV().has("name","josh").select("here") }], 
+    g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXlast_aX: [function({g, vid1}) { return g.V(vid1).as("a").repeat(__.out().as("a")).times(2).select(Pop.last,"a") }], 
+    g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_inV_hasXname_joshX_selectXhereX: [function({g, vid1}) { return g.V(vid1).outE("knows").as("here").has("weight",1.0).inV().has("name","josh").select("here") }], 
     g_V_asXaX_hasXname_markoX_asXbX_asXcX_selectXa_b_cX_by_byXnameX_byXageX: [function({g}) { return g.V().as("a").has("name","marko").as("b").as("c").select("a","b","c").by().by("name").by("age") }], 
     g_V_outE_weight_groupCount_selectXvaluesX_unfold_groupCount_selectXvaluesX_unfold: [function({g}) { return g.V().outE().values("weight").groupCount().select(Column.values).unfold().groupCount().select(Column.values).unfold() }], 
     g_V_asXaX_groupXmX_by_byXbothE_countX_barrier_selectXmX_selectXselectXaXX: [function({g}) { return g.V().as("a").group("m").by().by(__.bothE().count()).barrier().select("m").select(__.select("a")) }], 
@@ -528,8 +528,8 @@ const gremlins = {
     g_V_hasXperson_name_markoX_elementMapXnameX_asXaX_unionXidentity_identityX_selectXaX_selectXnameX: [function({g}) { return g.V().has("person","name","marko").elementMap("name").as("a").union(__.identity(),__.identity()).select("a").select("name") }], 
     g_V_hasXperson_name_markoX_count_asXaX_unionXidentity_identityX_selectXaX: [function({g}) { return g.V().has("person","name","marko").count().as("a").union(__.identity(),__.identity()).select("a") }], 
     g_V_hasXperson_name_markoX_path_asXaX_unionXidentity_identityX_selectXaX_unfold: [function({g}) { return g.V().has("person","name","marko").path().as("a").union(__.identity(),__.identity()).select("a").unfold() }], 
-    g_EX11X_propertiesXweightX_asXaX_selectXaX_byXkeyX: [function({g, e11Id}) { return g.E(e11Id).properties("weight").as("a").select("a").by(T.key) }], 
-    g_EX11X_propertiesXweightX_asXaX_selectXaX_byXvalueX: [function({g, e11Id}) { return g.E(e11Id).properties("weight").as("a").select("a").by(T.value) }], 
+    g_EX11X_propertiesXweightX_asXaX_selectXaX_byXkeyX: [function({g, eid11}) { return g.E(eid11).properties("weight").as("a").select("a").by(T.key) }], 
+    g_EX11X_propertiesXweightX_asXaX_selectXaX_byXvalueX: [function({g, eid11}) { return g.E(eid11).properties("weight").as("a").select("a").by(T.value) }], 
     g_V_shortestPath: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().identity().shortestPath() }], 
     g_V_both_dedup_shortestPath: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().both().dedup().shortestPath() }], 
     g_V_shortestPath_edgesIncluded: [function({g}) { return g.withStrategies(new VertexProgramStrategy(new Map([["graphComputer","org.apache.tinkerpop.gremlin.process.computer.GraphComputer"]]))).V().identity().shortestPath().with_("~tinkerpop.shortestPath.includeEdges") }], 
@@ -551,8 +551,8 @@ const gremlins = {
     g_V_foo_fold_sumXlocalX: [function({g}) { return g.V().values("foo").fold().sum(Scope.local) }], 
     g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX: [function({g}) { return g.V().hasLabel("software").group().by("name").by(__.bothE().values("weight").sum()) }], 
     g_V_localXoutE_foldX_unfold: [function({g}) { return g.V().local(__.outE().fold()).unfold() }], 
-    g_V_valueMap_unfold_mapXkeyX: [function({g, l}) { return g.V().valueMap().unfold().map(l) }], 
-    g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold: [function({g, v1Id, v6Id}) { return g.V(v1Id).repeat(__.both().simplePath()).until(__.hasId(v6Id)).path().by("name").unfold() }], 
+    g_V_valueMap_unfold_mapXkeyX: [function({g, l1}) { return g.V().valueMap().unfold().map(l1) }], 
+    g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold: [function({g, vid6, vid1}) { return g.V(vid1).repeat(__.both().simplePath()).until(__.hasId(vid6)).path().by("name").unfold() }], 
     g_V_valueMap: [function({g}) { return g.V().valueMap() }], 
     g_V_valueMapXtrueX: [function({g}) { return g.V().valueMap(true) }], 
     g_V_valueMap_withXtokensX: [function({g}) { return g.V().valueMap().with_("~tinkerpop.valueMap.tokens") }], 
@@ -561,47 +561,47 @@ const gremlins = {
     g_V_valueMapXname_ageX_withXtokensX: [function({g}) { return g.V().valueMap("name","age").with_("~tinkerpop.valueMap.tokens") }], 
     g_V_valueMapXname_ageX_withXtokens_labelsX_byXunfoldX: [function({g}) { return g.V().valueMap("name","age").with_("~tinkerpop.valueMap.tokens",2).by(__.unfold()) }], 
     g_V_valueMapXname_ageX_withXtokens_idsX_byXunfoldX: [function({g}) { return g.V().valueMap("name","age").with_("~tinkerpop.valueMap.tokens",1).by(__.unfold()) }], 
-    g_VX1X_outXcreatedX_valueMap: [function({g, v1Id}) { return g.V(v1Id).out("created").valueMap() }], 
+    g_VX1X_outXcreatedX_valueMap: [function({g, vid1}) { return g.V(vid1).out("created").valueMap() }], 
     g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX: [function({g}) { return g.V().hasLabel("person").filter(__.outE("created")).valueMap(true) }], 
     g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMap_withXtokensX: [function({g}) { return g.V().hasLabel("person").filter(__.outE("created")).valueMap().with_("~tinkerpop.valueMap.tokens") }], 
-    g_VX1X_valueMapXname_locationX_byXunfoldX_by: [function({g, v1Id}) { return g.V(v1Id).valueMap("name","location").by(__.unfold()).by() }], 
+    g_VX1X_valueMapXname_locationX_byXunfoldX_by: [function({g, vid1}) { return g.V(vid1).valueMap("name","location").by(__.unfold()).by() }], 
     g_VXlistX1_2_3XX_name: [function({g, vx}) { return g.V(vx).values("name") }], 
     g_VXlistXv1_v2_v3XX_name: [function({g, vx}) { return g.V(vx).values("name") }], 
     g_V: [function({g}) { return g.V() }], 
     g_VXv1X_out: [function({g, v1}) { return g.V(v1).out() }], 
-    g_VX1X_out: [function({g, v1Id}) { return g.V(v1Id).out() }], 
-    g_VX2X_in: [function({g, v2Id}) { return g.V(v2Id).in_() }], 
-    g_VX4X_both: [function({g, v4Id}) { return g.V(v4Id).both() }], 
+    g_VX1X_out: [function({g, vid1}) { return g.V(vid1).out() }], 
+    g_VX2X_in: [function({g, vid2}) { return g.V(vid2).in_() }], 
+    g_VX4X_both: [function({g, vid4}) { return g.V(vid4).both() }], 
     g_E: [function({g}) { return g.E() }], 
-    g_EX11X: [function({g, e11Id}) { return g.E(e11Id) }], 
-    g_EX11AsStringX: [function({g, e11Id}) { return g.E(e11Id) }], 
+    g_EX11X: [function({g, eid11}) { return g.E(eid11) }], 
+    g_EX11AsStringX: [function({g, eid11}) { return g.E(eid11) }], 
     g_EXe11X: [function({g, e11}) { return g.E(e11) }], 
     g_EXe7_e11X: [function({g, e7, e11}) { return g.E(e7,e11) }], 
-    g_EXlistXe7_e11XX: [function({g, l}) { return g.E(l) }], 
-    g_VX1X_outE: [function({g, v1Id}) { return g.V(v1Id).outE() }], 
-    g_VX2X_outE: [function({g, v2Id}) { return g.V(v2Id).inE() }], 
-    g_VX4X_bothEXcreatedX: [function({g, v4Id}) { return g.V(v4Id).bothE("created") }], 
-    g_VX4X_bothE: [function({g, v4Id}) { return g.V(v4Id).bothE() }], 
-    g_VX1X_outE_inV: [function({g, v1Id}) { return g.V(v1Id).both() }], 
-    g_VX2X_inE_outV: [function({g, v2Id}) { return g.V(v2Id).inE().outV() }], 
+    g_EXlistXe7_e11XX: [function({g, xx1}) { return g.E(xx1) }], 
+    g_VX1X_outE: [function({g, vid1}) { return g.V(vid1).outE() }], 
+    g_VX2X_outE: [function({g, vid2}) { return g.V(vid2).inE() }], 
+    g_VX4X_bothEXcreatedX: [function({g, vid4}) { return g.V(vid4).bothE("created") }], 
+    g_VX4X_bothE: [function({g, vid4}) { return g.V(vid4).bothE() }], 
+    g_VX1X_outE_inV: [function({g, vid1}) { return g.V(vid1).both() }], 
+    g_VX2X_inE_outV: [function({g, vid2}) { return g.V(vid2).inE().outV() }], 
     g_V_outE_hasXweight_1X_outV: [function({g}) { return g.V().outE().has("weight",1.0).outV() }], 
     g_V_out_outE_inV_inE_inV_both_name: [function({g}) { return g.V().out().outE().inV().inE().inV().both().values("name") }], 
-    g_VX1X_outEXknowsX_bothV_name: [function({g, v1Id}) { return g.V(v1Id).outE("knows").bothV().values("name") }], 
-    g_VX1X_outE_otherV: [function({g, v1Id}) { return g.V(v1Id).outE().otherV() }], 
-    g_VX4X_bothE_otherV: [function({g, v4Id}) { return g.V(v4Id).bothE().otherV() }], 
-    g_VX4X_bothE_hasXweight_lt_1X_otherV: [function({g, v4Id}) { return g.V(v4Id).bothE().has("weight",P.lt(1.0)).otherV() }], 
-    g_VX2X_inE: [function({g, v2Id}) { return g.V(v2Id).bothE() }], 
-    get_g_VX1X_outE_otherV: [function({g, v1Id}) { return g.V(v1Id).outE().otherV() }], 
-    g_VX1X_outXknowsX: [function({g, v1Id}) { return g.V(v1Id).out("knows") }], 
-    g_VX1AsStringX_outXknowsX: [function({g, v1Id}) { return g.V(v1Id).out("knows") }], 
-    g_VX1X_outXknows_createdX: [function({g, v1Id}) { return g.V(v1Id).out("knows","created") }], 
-    g_VX1X_outEXknowsX_inV: [function({g, v1Id}) { return g.V(v1Id).outE("knows").inV() }], 
-    g_VX1X_outEXknows_createdX_inV: [function({g, v1Id}) { return g.V(v1Id).outE("knows","created").inV() }], 
+    g_VX1X_outEXknowsX_bothV_name: [function({g, vid1}) { return g.V(vid1).outE("knows").bothV().values("name") }], 
+    g_VX1X_outE_otherV: [function({g, vid1}) { return g.V(vid1).outE().otherV() }], 
+    g_VX4X_bothE_otherV: [function({g, vid4}) { return g.V(vid4).bothE().otherV() }], 
+    g_VX4X_bothE_hasXweight_lt_1X_otherV: [function({g, vid4}) { return g.V(vid4).bothE().has("weight",P.lt(1.0)).otherV() }], 
+    g_VX2X_inE: [function({g, vid2}) { return g.V(vid2).bothE() }], 
+    get_g_VX1X_outE_otherV: [function({g, vid1}) { return g.V(vid1).outE().otherV() }], 
+    g_VX1X_outXknowsX: [function({g, vid1}) { return g.V(vid1).out("knows") }], 
+    g_VX1AsStringX_outXknowsX: [function({g, vid1}) { return g.V(vid1).out("knows") }], 
+    g_VX1X_outXknows_createdX: [function({g, vid1}) { return g.V(vid1).out("knows","created") }], 
+    g_VX1X_outEXknowsX_inV: [function({g, vid1}) { return g.V(vid1).outE("knows").inV() }], 
+    g_VX1X_outEXknows_createdX_inV: [function({g, vid1}) { return g.V(vid1).outE("knows","created").inV() }], 
     g_V_out_out: [function({g}) { return g.V().out().out() }], 
-    g_VX1X_out_out_out: [function({g, v1Id}) { return g.V(v1Id).out().out().out() }], 
-    g_VX1X_out_name: [function({g, v1Id}) { return g.V(v1Id).out().values("name") }], 
-    g_VX1X_to_XOUT_knowsX: [function({g, v1Id}) { return g.V(v1Id).to(Direction.OUT,"knows") }], 
-    g_VX1_2_3_4X_name: [function({g, v1Id, v2Id, v3Id, v4Id}) { return g.V(v1Id,v2Id,v3Id,v4Id).values("name") }], 
+    g_VX1X_out_out_out: [function({g, vid1}) { return g.V(vid1).out().out().out() }], 
+    g_VX1X_out_name: [function({g, vid1}) { return g.V(vid1).out().values("name") }], 
+    g_VX1X_to_XOUT_knowsX: [function({g, vid1}) { return g.V(vid1).to(Direction.OUT,"knows") }], 
+    g_VX1_2_3_4X_name: [function({g, vid4, vid3, vid2, vid1}) { return g.V(vid1,vid2,vid3,vid4).values("name") }], 
     g_V_hasLabelXpersonX_V_hasLabelXsoftwareX_name: [function({g}) { return g.V().hasLabel("person").V().hasLabel("software").values("name") }], 
     g_V_hasLabelXloopsX_bothEXselfX: [function({g}) { return g.V().hasLabel("loops").bothE("self") }], 
     g_V_hasLabelXloopsX_bothXselfX: [function({g}) { return g.V().hasLabel("loops").both("self") }], 
@@ -611,7 +611,7 @@ const gremlins = {
     g_V_out_aggregateXaX_path: [function({g}) { return g.V().out().aggregate("a").path() }], 
     g_V_hasLabelXpersonX_aggregateXxX_byXageX_capXxX_asXyX_selectXyX: [function({g}) { return g.V().hasLabel("person").aggregate("x").by("age").cap("x").as("y").select("y") }], 
     g_V_aggregateXlocal_a_nameX_out_capXaX: [function({g}) { return g.V().aggregate(Scope.local,"a").by("name").out().cap("a") }], 
-    g_VX1X_aggregateXlocal_aX_byXnameX_out_aggregateXlocal_aX_byXnameX_name_capXaX: [function({g, v1Id}) { return g.V(v1Id).aggregate(Scope.local,"a").by("name").out().aggregate(Scope.local,"a").by("name").values("name").cap("a") }], 
+    g_VX1X_aggregateXlocal_aX_byXnameX_out_aggregateXlocal_aX_byXnameX_name_capXaX: [function({g, vid1}) { return g.V(vid1).aggregate(Scope.local,"a").by("name").out().aggregate(Scope.local,"a").by("name").values("name").cap("a") }], 
     g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX: [function({g, initial}) { return g.withSideEffect("a",initial).V().both().values("name").aggregate(Scope.local,"a").cap("a") }], 
     g_V_aggregateXlocal_aX_byXoutEXcreatedX_countX_out_out_aggregateXlocal_aX_byXinEXcreatedX_weight_sumX: [function({g}) { return g.V().aggregate(Scope.local,"a").by(__.outE("created").count()).out().out().aggregate(Scope.local,"a").by(__.inE("created").values("weight").sum()).cap("a") }], 
     g_V_group_byXnameX: [function({g}) { return g.V().group().by("name") }], 
@@ -633,7 +633,7 @@ const gremlins = {
     g_V_outXfollowedByX_group_byXsongTypeX_byXbothE_group_byXlabelX_byXweight_sumXX: [function({g}) { return g.V().out("followedBy").group().by("songType").by(__.bothE().group().by(T.label).by(__.values("weight").sum())) }], 
     g_V_groupXmX_byXnameX_byXinXknowsX_nameX_capXmX: [function({g}) { return g.V().group("m").by("name").by(__.in_("knows").values("name")).cap("m") }], 
     g_V_group_byXlabelX_byXbothE_groupXaX_byXlabelX_byXweight_sumX_weight_sumX: [function({g}) { return g.V().group().by(T.label).by(__.bothE().group("a").by(T.label).by(__.values("weight").sum()).values("weight").sum()) }], 
-    g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX: [function({g, m}) { return g.withSideEffect("a",m).V().group("a").by("name").by(__.outE().label().fold()).cap("a") }], 
+    g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX: [function({g, initial}) { return g.withSideEffect("a",initial).V().group("a").by("name").by(__.outE().label().fold()).cap("a") }], 
     g_V_hasLabelXpersonX_asXpX_outXcreatedX_group_byXnameX_byXselectXpX_valuesXageX_sumX: [function({g}) { return g.V().hasLabel("person").as("p").out("created").group().by("name").by(__.select("p").values("age").sum()) }], 
     g_V_hasLabelXpersonX_asXpX_outXcreatedX_groupXaX_byXnameX_byXselectXpX_valuesXageX_sumX_capXaX: [function({g}) { return g.V().hasLabel("person").as("p").out("created").group("a").by("name").by(__.select("p").values("age").sum()).cap("a") }], 
     g_V_group_byXlabelX_byXlabel_countX: [function({g}) { return g.V().group().by(__.label()).by(__.label().count()) }], 
@@ -651,12 +651,12 @@ const gremlins = {
     g_V_outXcreatedX_groupCountXxX_capXxX: [function({g}) { return g.V().out("created").groupCount("x").cap("x") }], 
     g_V_groupCount_byXbothE_countX: [function({g}) { return g.V().groupCount().by(__.bothE().count()) }], 
     g_V_both_groupCountXaX_out_capXaX_selectXkeysX_unfold_both_groupCountXaX_capXaX: [function({g}) { return g.V().both().groupCount("a").out().cap("a").select(Column.keys).unfold().both().groupCount("a").cap("a") }], 
-    g_VX1X_out_injectXv2X_name: [function({g, v1Id, v2}) { return g.V(v1Id).out().inject(v2).values("name") }], 
-    g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path: [function({g, v1Id, c}) { return g.V(v1Id).out().values("name").inject("daniel").as("a").map(c).path() }], 
-    g_VX1X_injectXg_VX4XX_out_name: [function({g, v1Id, v4}) { return g.V(v1Id).inject(v4).out().values("name") }], 
+    g_VX1X_out_injectXv2X_name: [function({g, vid1, v2}) { return g.V(vid1).out().inject(v2).values("name") }], 
+    g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path: [function({g, l1, vid1}) { return g.V(vid1).out().values("name").inject("daniel").as("a").map(l1).path() }], 
+    g_VX1X_injectXg_VX4XX_out_name: [function({g, vid1, v4}) { return g.V(vid1).inject(v4).out().values("name") }], 
     g_injectXnull_1_3_nullX: [function({g}) { return g.inject(null,1,3,null) }], 
     g_injectX10_20_null_20_10_10X_groupCountXxX_dedup_asXyX_projectXa_bX_by_byXselectXxX_selectXselectXyXXX: [function({g}) { return g.inject(10,20,null,20,10,10).groupCount("x").dedup().as("y").project("a","b").by().by(__.select("x").select(__.select("y"))) }], 
-    g_injectXname_marko_age_nullX_selectXname_ageX: [function({g, m}) { return g.inject(m).select("name","age") }], 
+    g_injectXname_marko_age_nullX_selectXname_ageX: [function({g, initial}) { return g.inject(initial).select("name","age") }], 
     g_io_readXkryoX: [function({g}) { return g.io("data/tinkerpop-modern.kryo").read() }, function({g}) { return g.V() }, function({g}) { return g.E() }], 
     g_io_read_withXreader_gryoX: [function({g}) { return g.io("data/tinkerpop-modern.kryo").with_("~tinkerpop.io.reader","gryo").read() }, function({g}) { return g.V() }, function({g}) { return g.E() }], 
     g_io_readXgraphsonX: [function({g}) { return g.io("data/tinkerpop-modern.json").read() }, function({g}) { return g.V() }, function({g}) { return g.E() }], 
@@ -666,12 +666,12 @@ const gremlins = {
     g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack: [function({g}) { return g.withSack("hello").V().outE().sack(Operator.assign).by(T.label).inV().sack() }], 
     g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum: [function({g}) { return g.withSack(0.0).V().outE().sack(Operator.sum).by("weight").inV().sack().sum() }], 
     g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack: [function({g}) { return g.withSack(0.0).V().repeat(__.outE().sack(Operator.sum).by("weight").inV()).times(2).sack() }], 
-    g_withBulkXfalseX_withSackX1_sumX_VX1X_localXoutEXknowsX_barrierXnormSackX_inVX_inXknowsX_barrier_sack: [function({g, v1Id}) { return g.withBulk(false).withSack(1.0,Operator.sum).V(v1Id).local(__.outE("knows").barrier(Barrier.normSack).inV()).in_("knows").barrier().sack() }], 
+    g_withBulkXfalseX_withSackX1_sumX_VX1X_localXoutEXknowsX_barrierXnormSackX_inVX_inXknowsX_barrier_sack: [function({g, vid1}) { return g.withBulk(false).withSack(1.0,Operator.sum).V(vid1).local(__.outE("knows").barrier(Barrier.normSack).inV()).in_("knows").barrier().sack() }], 
     g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack: [function({g}) { return g.withBulk(false).withSack(1,Operator.sum).V().out().barrier().sack() }], 
-    g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack: [function({g, v1Id}) { return g.withSack(1.0,Operator.sum).V(v1Id).local(__.out("knows").barrier(Barrier.normSack)).in_("knows").barrier().sack() }], 
+    g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack: [function({g, vid1}) { return g.withSack(1.0,Operator.sum).V(vid1).local(__.out("knows").barrier(Barrier.normSack)).in_("knows").barrier().sack() }], 
     g_V_hasXageX_groupCountXaX_byXnameX_out_capXaX: [function({g}) { return g.V().has("age").groupCount("a").by("name").out().cap("a") }], 
     g_V_storeXa_nameX_out_capXaX: [function({g}) { return g.V().store("a").by("name").out().cap("a") }], 
-    g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX: [function({g, v1Id}) { return g.V(v1Id).store("a").by("name").out().store("a").by("name").values("name").cap("a") }], 
+    g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX: [function({g, vid1}) { return g.V(vid1).store("a").by("name").out().store("a").by("name").values("name").cap("a") }], 
     g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX: [function({g, initial}) { return g.withSideEffect("a",initial).V().both().values("name").store("a").cap("a") }], 
     g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX: [function({g}) { return g.V().store("a").by(__.outE("created").count()).out().out().store("a").by(__.inE("created").values("weight").sum()).cap("a") }], 
 }
diff --git a/gremlin-python/src/main/python/radish/gremlin.py b/gremlin-python/src/main/python/radish/gremlin.py
index 5e16f57..311fc9b 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -33,48 +33,48 @@ from gremlin_python.process.traversal import Barrier, Cardinality, P, TextP, Pop
 
 world.gremlins = {
     'g_V_branchXlabel_eq_person__a_bX_optionXa__ageX_optionXb__langX_optionXb__nameX': [(lambda g, l1=None:g.V().branch(l1).option('a',__.age).option('b',__.lang).option('b',__.name))], 
-    'g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX': [(lambda g, zero=None,one=None:g.V().branch(__.label().is_('person').count()).option(one,__.age).option(zero,__.lang).option(zero,__.name))], 
-    'g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX': [(lambda g, zero=None,one=None:g.V().branch(__.label().is_('person').count()).option(one,__.age).option(zero,__.lang).option(zero,__.name).option(Pick.any,__.label()))], 
+    'g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX': [(lambda g, xx1=None,xx2=None:g.V().branch(__.label().is_('person').count()).option(xx1,__.age).option(xx2,__.lang).option(xx2,__.name))], 
+    'g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX': [(lambda g, xx1=None,xx2=None:g.V().branch(__.label().is_('person').count()).option(xx1,__.age).option(xx2,__.lang).option(xx2,__.name).option(Pick.any,__.label()))], 
     'g_V_branchXageX_optionXltX30X__youngX_optionXgtX30X__oldX_optionXnone__on_the_edgeX': [(lambda g:g.V().hasLabel('person').branch(__.age).option(P.lt(30),__.constant('young')).option(P.gt(30),__.constant('old')).option(Pick.none,__.constant('on the edge')))], 
     'g_V_branchXidentityX_optionXhasLabelXsoftwareX__inXcreatedX_name_order_foldX_optionXhasXname_vadasX__ageX_optionXneqX123X__bothE_countX': [(lambda g:g.V().branch(__.identity()).option(__.hasLabel('software'),__.in_('created').name.order().fold()).option(__.has('name','vadas'),__.age).option(P.neq(123),__.bothE().count()))], 
-    'g_V_chooseXout_countX_optionX2L_nameX_optionX3L_ageX': [(lambda g, two=None,three=None:g.V().choose(__.out().count()).option(two,__.name).option(three,__.age))], 
-    'g_V_chooseXlabel_eqXpersonX__outXknowsX__inXcreatedXX_name': [(lambda g, l1=None:g.V().choose(l1,__.out('knows'),__.in_('created')).name)], 
+    'g_V_chooseXout_countX_optionX2L_nameX_optionX3L_ageX': [(lambda g, xx1=None,xx2=None:g.V().choose(__.out().count()).option(xx1,__.name).option(xx2,__.age))], 
+    'g_V_chooseXlabel_eqXpersonX__outXknowsX__inXcreatedXX_name': [(lambda g, pred1=None:g.V().choose(pred1,__.out('knows'),__.in_('created')).name)], 
     'g_V_chooseXhasLabelXpersonX_and_outXcreatedX__outXknowsX__identityX_name': [(lambda g:g.V().choose(__.hasLabel('person').and_().out('created'),__.out('knows'),__.identity()).name)], 
     'g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name': [(lambda g:g.V().choose(__.label()).option('blah',__.out('knows')).option('bleep',__.out('created')).option(Pick.none,__.identity()).name)], 
     'g_V_chooseXoutXknowsX_count_isXgtX0XX__outXknowsXX_name': [(lambda g:g.V().choose(__.out('knows').count().is_(P.gt(0)),__.out('knows')).name)], 
     'g_V_hasLabelXpersonX_asXp1X_chooseXoutEXknowsX__outXknowsXX_asXp2X_selectXp1_p2X_byXnameX': [(lambda g:g.V().hasLabel('person').as_('p1').choose(__.outE('knows'),__.out('knows')).as_('p2').select('p1','p2').by('name'))], 
-    'g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount': [(lambda g, d27=None:g.V().hasLabel('person').choose(__.age).option(d27,__.constant('young')).option(Pick.none,__.constant('old')).groupCount())], 
-    'g_injectX1X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, d10=None,d1=None:g.inject(d1).choose(__.is_(d1),__.constant(d10).fold(),__.fold()))], 
-    'g_injectX2X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, d10=None,d1=None,d2=None:g.inject(d2).choose(__.is_(d1),__.constant(d10).fold(),__.fold()))], 
+    'g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount': [(lambda g, xx1=None:g.V().hasLabel('person').choose(__.age).option(xx1,__.constant('young')).option(Pick.none,__.constant('old')).groupCount())], 
+    'g_injectX1X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, xx1=None,xx2=None:g.inject(xx2).choose(__.is_(xx2),__.constant(xx1).fold(),__.fold()))], 
+    'g_injectX2X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, xx1=None,xx3=None,xx2=None:g.inject(xx3).choose(__.is_(xx2),__.constant(xx1).fold(),__.fold()))], 
     'g_V_localXpropertiesXlocationX_order_byXvalueX_limitX2XX_value': [(lambda g:g.V().local(__.properties('location').order().by(T.value,Order.asc)[0:2]).value())], 
     'g_V_hasXlabel_personX_asXaX_localXoutXcreatedX_asXbXX_selectXa_bX_byXnameX_byXidX': [(lambda g:g.V().has(T.label,'person').as_('a').local(__.out('created').as_('b')).select('a','b').by('name').by(T.id))], 
     'g_V_localXoutE_countX': [(lambda g:g.V().local(__.outE().count()))], 
-    'g_VX1X_localXoutEXknowsX_limitX1XX_inV_name': [(lambda g, v1Id=None:g.V(v1Id).local(__.outE('knows')[0:1]).inV().name)], 
+    'g_VX1X_localXoutEXknowsX_limitX1XX_inV_name': [(lambda g, vid1=None:g.V(vid1).local(__.outE('knows')[0:1]).inV().name)], 
     'g_V_localXbothEXcreatedX_limitX1XX_otherV_name': [(lambda g:g.V().local(__.bothE('created')[0:1]).otherV().name)], 
-    'g_VX4X_localXbothEX1_createdX_limitX1XX': [(lambda g, v4Id=None:g.V(v4Id).local(__.bothE('created')[0:1]))], 
-    'g_VX4X_localXbothEXknows_createdX_limitX1XX': [(lambda g, v4Id=None:g.V(v4Id).local(__.bothE('knows','created')[0:1]))], 
-    'g_VX4X_localXbothE_limitX1XX_otherV_name': [(lambda g, v4Id=None:g.V(v4Id).local(__.bothE()[0:1]).otherV().name)], 
-    'g_VX4X_localXbothE_limitX2XX_otherV_name': [(lambda g, v4Id=None:g.V(v4Id).local(__.bothE()[0:2]).otherV().name)], 
+    'g_VX4X_localXbothEX1_createdX_limitX1XX': [(lambda g, vid4=None:g.V(vid4).local(__.bothE('created')[0:1]))], 
+    'g_VX4X_localXbothEXknows_createdX_limitX1XX': [(lambda g, vid4=None:g.V(vid4).local(__.bothE('knows','created')[0:1]))], 
+    'g_VX4X_localXbothE_limitX1XX_otherV_name': [(lambda g, vid4=None:g.V(vid4).local(__.bothE()[0:1]).otherV().name)], 
+    'g_VX4X_localXbothE_limitX2XX_otherV_name': [(lambda g, vid4=None:g.V(vid4).local(__.bothE()[0:2]).otherV().name)], 
     'g_V_localXinEXknowsX_limitX2XX_outV_name': [(lambda g:g.V().local(__.inE('knows')[0:2]).outV().name)], 
     'g_V_localXmatchXproject__created_person__person_name_nameX_selectXname_projectX_by_byXnameX': [(lambda g:g.V().local(__.match(__.as_('project').in_('created').as_('person'),__.as_('person').name.as_('name'))).select('name','project').by().by('name'))], 
-    'g_VX2X_optionalXoutXknowsXX': [(lambda g, v2Id=None:g.V(v2Id).optional(__.out('knows')))], 
-    'g_VX2X_optionalXinXknowsXX': [(lambda g, v2Id=None:g.V(v2Id).optional(__.in_('knows')))], 
+    'g_VX2X_optionalXoutXknowsXX': [(lambda g, vid2=None:g.V(vid2).optional(__.out('knows')))], 
+    'g_VX2X_optionalXinXknowsXX': [(lambda g, vid2=None:g.V(vid2).optional(__.in_('knows')))], 
     'g_V_hasLabelXpersonX_optionalXoutXknowsX_optionalXoutXcreatedXXX_path': [(lambda g:g.V().hasLabel('person').optional(__.out('knows').optional(__.out('created'))).path())], 
     'g_V_optionalXout_optionalXoutXX_path': [(lambda g:g.V().optional(__.out().optional(__.out())).path())], 
-    'g_VX1X_optionalXaddVXdogXX_label': [(lambda g, v1Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','ripple').property('l [...]
+    'g_VX1X_optionalXaddVXdogXX_label': [(lambda g, vid1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','ripple').property('l [...]
     'g_V_repeatXoutX_timesX2X_emit_path': [(lambda g:g.V().repeat(__.out()).times(2).emit().path())], 
     'g_V_repeatXoutX_timesX2X_repeatXinX_timesX2X_name': [(lambda g:g.V().repeat(__.out()).times(2).repeat(__.in_()).times(2).name)], 
     'g_V_repeatXoutX_timesX2X': [(lambda g:g.V().repeat(__.out()).times(2))], 
     'g_V_repeatXoutX_timesX2X_emit': [(lambda g:g.V().repeat(__.out()).times(2).emit())], 
-    'g_VX1X_timesX2X_repeatXoutX_name': [(lambda g, v1Id=None:g.V(v1Id).times(2).repeat(__.out()).name)], 
+    'g_VX1X_timesX2X_repeatXoutX_name': [(lambda g, vid1=None:g.V(vid1).times(2).repeat(__.out()).name)], 
     'g_V_emit_timesX2X_repeatXoutX_path': [(lambda g:g.V().emit().times(2).repeat(__.out()).path())], 
     'g_V_emit_repeatXoutX_timesX2X_path': [(lambda g:g.V().emit().repeat(__.out()).times(2).path())], 
-    'g_VX1X_emitXhasXlabel_personXX_repeatXoutX_name': [(lambda g, v1Id=None:g.V(v1Id).emit(__.has(T.label,'person')).repeat(__.out()).name)], 
+    'g_VX1X_emitXhasXlabel_personXX_repeatXoutX_name': [(lambda g, vid1=None:g.V(vid1).emit(__.has(T.label,'person')).repeat(__.out()).name)], 
     'g_V_repeatXgroupCountXmX_byXnameX_outX_timesX2X_capXmX': [(lambda g:g.V().repeat(__.groupCount('m').by('name').out()).times(2).cap('m'))], 
-    'g_VX1X_repeatXgroupCountXmX_byXloopsX_outX_timesX3X_capXmX': [(lambda g, v1Id=None:g.V(v1Id).repeat(__.groupCount('m').by(__.loops()).out()).times(3).cap('m'))], 
+    'g_VX1X_repeatXgroupCountXmX_byXloopsX_outX_timesX3X_capXmX': [(lambda g, vid1=None:g.V(vid1).repeat(__.groupCount('m').by(__.loops()).out()).times(3).cap('m'))], 
     'g_V_repeatXbothX_timesX10X_asXaX_out_asXbX_selectXa_bX': [(lambda g:g.V().repeat(__.both()).times(10).as_('a').out().as_('b').select('a','b').count())], 
-    'g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name': [(lambda g, v1Id=None:g.V(v1Id).repeat(__.out()).until(__.outE().count().is_(0)).name)], 
-    'g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX': [(lambda g, l=None:g.V().repeat(__.both()).until(l).groupCount().by('name'))], 
+    'g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name': [(lambda g, vid1=None:g.V(vid1).repeat(__.out()).until(__.outE().count().is_(0)).name)], 
+    'g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX': [(lambda g, pred1=None:g.V().repeat(__.both()).until(pred1).groupCount().by('name'))], 
     'g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX': [(lambda g:g.V().has('name','marko').repeat(__.outE().inV().simplePath()).until(__.has('name','ripple')).path().by('name').by(T.label))], 
     'g_V_hasXloop_name_loopX_repeatXinX_timesX5X_path_by_name': [(lambda g:g.V().has('loops','name','loop').repeat(__.in_()).times(5).path().by('name'))], 
     'g_V_repeatXout_repeatXoutX_timesX1XX_timesX1X_limitX1X_path_by_name': [(lambda g:g.V().repeat(__.out().repeat(__.out()).times(1)).times(1)[0:1].path().by('name'))], 
@@ -82,18 +82,18 @@ world.gremlins = {
     'g_V_repeatXrepeatXout_createdXX_untilXhasXname_rippleXXXemit_lang': [(lambda g:g.V().repeat(__.repeat(__.out('created')).until(__.has('name','ripple'))).emit().lang)], 
     'g_V_untilXconstantXtrueXX_repeatXrepeatXout_createdXX_untilXhasXname_rippleXXXemit_lang': [(lambda g:g.V().until(__.constant(True)).repeat(__.repeat(__.out('created')).until(__.has('name','ripple'))).emit().lang)], 
     'g_V_emit_repeatXa_outXknows_filterXloops_isX0XX_lang': [(lambda g:g.V().emit().repeat('a',__.out('knows').filter(__.loops('a').is_(0))).lang)], 
-    'g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsXX_emit_loopsXisX1Xdedup_values': [(lambda g, v3Id=None:g.V(v3Id).repeat(__.both('created')).until(__.loops().is_(40)).emit(__.repeat(__.in_('knows')).emit(__.loops().is_(1))).dedup().name)], 
-    'g_VX1X_repeatXrepeatXunionXout_uses_out_traversesXX_whereXloops_isX0X_timesX1X_timeX2X_name': [(lambda g, v1Id=None:g.V(v1Id).repeat(__.repeat(__.union(__.out('uses'),__.out('traverses')).where(__.loops().is_(0))).times(1)).times(2).name)], 
+    'g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsXX_emit_loopsXisX1Xdedup_values': [(lambda g, vid3=None:g.V(vid3).repeat(__.both('created')).until(__.loops().is_(40)).emit(__.repeat(__.in_('knows')).emit(__.loops().is_(1))).dedup().name)], 
+    'g_VX1X_repeatXrepeatXunionXout_uses_out_traversesXX_whereXloops_isX0X_timesX1X_timeX2X_name': [(lambda g, vid1=None:g.V(vid1).repeat(__.repeat(__.union(__.out('uses'),__.out('traverses')).where(__.loops().is_(0))).times(1)).times(2).name)], 
     'g_V_repeatXa_outXknows_repeatXb_outXcreatedX_filterXloops_isX0XX_emit_lang': [(lambda g:g.V().repeat('a',__.out('knows').repeat('b',__.out('created').filter(__.loops('a').is_(0))).emit()).emit().lang)], 
-    'g_VX6X_repeatXa_bothXcreatedX_simplePathX_emitXrepeatXb_bothXknowsXX_untilXloopsXbX_asXb_whereXloopsXaX_asXbX_hasXname_vadasXX_dedup_name': [(lambda g, v6Id=None:g.V(v6Id).repeat('a',__.both('created').simplePath()).emit(__.repeat('b',__.both('knows')).until(__.loops('b').as_('b').where(__.loops('a').as_('b'))).has('name','vadas')).dedup().name)], 
+    'g_VX6X_repeatXa_bothXcreatedX_simplePathX_emitXrepeatXb_bothXknowsXX_untilXloopsXbX_asXb_whereXloopsXaX_asXbX_hasXname_vadasXX_dedup_name': [(lambda g, vid6=None:g.V(vid6).repeat('a',__.both('created').simplePath()).emit(__.repeat('b',__.both('knows')).until(__.loops('b').as_('b').where(__.loops('a').as_('b'))).has('name','vadas')).dedup().name)], 
     'g_V_unionXout__inX_name': [(lambda g:g.V().union(__.out(),__.in_()).name)], 
-    'g_VX1X_unionXrepeatXoutX_timesX2X__outX_name': [(lambda g, v1Id=None:g.V(v1Id).union(__.repeat(__.out()).times(2),__.out()).name)], 
+    'g_VX1X_unionXrepeatXoutX_timesX2X__outX_name': [(lambda g, vid1=None:g.V(vid1).union(__.repeat(__.out()).times(2),__.out()).name)], 
     'g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX': [(lambda g:g.V().choose(__.label().is_('person'),__.union(__.out().lang,__.out().name),__.in_().label()))], 
     'g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX_groupCount': [(lambda g:g.V().choose(__.label().is_('person'),__.union(__.out().lang,__.out().name),__.in_().label()).groupCount())], 
     'g_V_unionXrepeatXunionXoutXcreatedX__inXcreatedXX_timesX2X__repeatXunionXinXcreatedX__outXcreatedXX_timesX2XX_label_groupCount': [(lambda g:g.V().union(__.repeat(__.union(__.out('created'),__.in_('created'))).times(2),__.repeat(__.union(__.in_('created'),__.out('created'))).times(2)).label().groupCount())], 
-    'g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX': [(lambda g, v1Id=None,v2Id=None:g.V(v1Id,v2Id).union(__.outE().count(),__.inE().count(),__.outE().weight.sum()))], 
-    'g_VX1_2X_localXunionXoutE_count__inE_count__outE_weight_sumXX': [(lambda g, v1Id=None,v2Id=None:g.V(v1Id,v2Id).local(__.union(__.outE().count(),__.inE().count(),__.outE().weight.sum())))], 
-    'g_VX1_2X_localXunionXcountXX': [(lambda g, v1Id=None,v2Id=None:g.V(v1Id,v2Id).local(__.union(__.count())))], 
+    'g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX': [(lambda g, vid2=None,vid1=None:g.V(vid1,vid2).union(__.outE().count(),__.inE().count(),__.outE().weight.sum()))], 
+    'g_VX1_2X_localXunionXoutE_count__inE_count__outE_weight_sumXX': [(lambda g, vid2=None,vid1=None:g.V(vid1,vid2).local(__.union(__.outE().count(),__.inE().count(),__.outE().weight.sum())))], 
+    'g_VX1_2X_localXunionXcountXX': [(lambda g, vid2=None,vid1=None:g.V(vid1,vid2).local(__.union(__.count())))], 
     'g_V_andXhasXage_gt_27X__outE_count_gte_2X_name': [(lambda g:g.V().and_(__.has('age',P.gt(27)),__.outE().count().is_(P.gte(2))).name)], 
     'g_V_andXoutE__hasXlabel_personX_and_hasXage_gte_32XX_name': [(lambda g:g.V().and_(__.outE(),__.has(T.label,'person').and_().has('age',P.gte(32))).name)], 
     'g_V_asXaX_outXknowsX_and_outXcreatedX_inXcreatedX_asXaX_name': [(lambda g:g.V().as_('a').out('knows').and_().out('created').in_('created').as_('a').name)], 
@@ -101,14 +101,14 @@ world.gremlins = {
     'g_V_hasXname_markoX_and_hasXname_markoX_and_hasXname_markoX': [(lambda g:g.V().has('name','marko').and_().has('name','marko').and_().has('name','marko'))], 
     'g_V_coinX1X': [(lambda g:g.V().coin(float(1.0)))], 
     'g_V_coinX0X': [(lambda g:g.V().coin(float(0.0)))], 
-    'g_VX1X_outXcreatedX_inXcreatedX_cyclicPath': [(lambda g, v1Id=None:g.V(v1Id).out('created').in_('created').cyclicPath())], 
-    'g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path': [(lambda g, v1Id=None:g.V(v1Id).out('created').in_('created').cyclicPath().path())], 
-    'g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('created').as_('b').in_('created').as_('c').cyclicPath().from_('a').to('b').path())], 
+    'g_VX1X_outXcreatedX_inXcreatedX_cyclicPath': [(lambda g, vid1=None:g.V(vid1).out('created').in_('created').cyclicPath())], 
+    'g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path': [(lambda g, vid1=None:g.V(vid1).out('created').in_('created').cyclicPath().path())], 
+    'g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path': [(lambda g, vid1=None:g.V(vid1).as_('a').out('created').as_('b').in_('created').as_('c').cyclicPath().from_('a').to('b').path())], 
     'g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold': [(lambda g:g.V().out().in_().name.fold().dedup(Scope.local).unfold())], 
     'g_V_out_asXxX_in_asXyX_selectXx_yX_byXnameX_fold_dedupXlocal_x_yX_unfold': [(lambda g:g.V().out().as_('x').in_().as_('y').select('x','y').by('name').fold().dedup(Scope.local,'x','y').unfold())], 
     'g_V_both_dedup_name': [(lambda g:g.V().both().dedup().name)], 
     'g_V_both_hasXlabel_softwareX_dedup_byXlangX_name': [(lambda g:g.V().both().has(T.label,'software').dedup().by('lang').name)], 
-    'g_V_both_name_order_byXa_bX_dedup_value': [(lambda g, l=None:g.V().both().properties('name').order().by(l).dedup().value())], 
+    'g_V_both_name_order_byXa_bX_dedup_value': [(lambda g, c1=None:g.V().both().properties('name').order().by(c1).dedup().value())], 
     'g_V_both_both_name_dedup': [(lambda g:g.V().both().both().name.dedup())], 
     'g_V_both_both_dedup': [(lambda g:g.V().both().both().dedup())], 
     'g_V_both_both_dedup_byXlabelX': [(lambda g:g.V().both().both().dedup().by(T.label))], 
@@ -128,47 +128,47 @@ world.gremlins = {
     'g_V_properties_drop': [(lambda g:g.addV().property('name','bob').addV().property('name','alice')), (lambda g:g.V().properties().drop()), (lambda g:g.V()), (lambda g:g.V().properties())], 
     'g_E_propertiesXweightX_drop': [(lambda g:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','ripple').property('lang','java').as_ [...]
     'g_V_properties_propertiesXstartTimeX_drop': [(lambda g:g.addV().property('name','bob').property(Cardinality.list_,'location','ny','startTime',2014,'endTime',2016).property(Cardinality.list_,'location','va','startTime',2016).addV().property('name','alice').property(Cardinality.list_,'location','va','startTime',2014,'endTime',2016).property(Cardinality.list_,'location','ny','startTime',2016)), (lambda g:g.V().properties().properties('startTime').drop()), (lambda g:g.V().properties().p [...]
-    'g_V_filterXfalseX': [(lambda g, l1=None:g.V().filter(l1))], 
-    'g_V_filterXtrueX': [(lambda g, l1=None:g.V().filter(l1))], 
-    'g_V_filterXlang_eq_javaX': [(lambda g, l1=None:g.V().filter(l1))], 
-    'g_VX1X_filterXage_gt_30X': [(lambda g, v1Id=None,l1=None:g.V(v1Id).filter(l1))], 
-    'g_VX2X_filterXage_gt_30X': [(lambda g, v2Id=None,l1=None:g.V(v2Id).filter(l1))], 
-    'g_VX1X_out_filterXage_gt_30X': [(lambda g, v1Id=None,l1=None:g.V(v1Id).out().filter(l1))], 
-    'g_V_filterXname_startsWith_m_OR_name_startsWith_pX': [(lambda g, l1=None:g.V().filter(l1))], 
-    'g_E_filterXfalseX': [(lambda g, l1=None:g.E().filter(l1))], 
-    'g_E_filterXtrueX': [(lambda g, l1=None:g.E().filter(l1))], 
+    'g_V_filterXfalseX': [(lambda g, pred1=None:g.V().filter(pred1))], 
+    'g_V_filterXtrueX': [(lambda g, pred1=None:g.V().filter(pred1))], 
+    'g_V_filterXlang_eq_javaX': [(lambda g, pred1=None:g.V().filter(pred1))], 
+    'g_VX1X_filterXage_gt_30X': [(lambda g, vid1=None,pred1=None:g.V(vid1).filter(pred1))], 
+    'g_VX2X_filterXage_gt_30X': [(lambda g, vid2=None,pred1=None:g.V(vid2).filter(pred1))], 
+    'g_VX1X_out_filterXage_gt_30X': [(lambda g, vid1=None,pred1=None:g.V(vid1).out().filter(pred1))], 
+    'g_V_filterXname_startsWith_m_OR_name_startsWith_pX': [(lambda g, pred1=None:g.V().filter(pred1))], 
+    'g_E_filterXfalseX': [(lambda g, pred1=None:g.E().filter(pred1))], 
+    'g_E_filterXtrueX': [(lambda g, pred1=None:g.E().filter(pred1))], 
     'g_V_outXcreatedX_hasXname__mapXlengthX_isXgtX3XXX_name': [(lambda g, l1=None:g.V().out('created').has('name',__.map(l1).is_(P.gt(3))).name)], 
-    'g_VX1X_hasXnameX': [(lambda g, v1Id=None:g.V(v1Id).has('name'))], 
-    'g_VX1X_hasXcircumferenceX': [(lambda g, v1Id=None:g.V(v1Id).has('circumference'))], 
-    'g_VX1X_hasXname_markoX': [(lambda g, v1Id=None:g.V(v1Id).has('name','marko'))], 
-    'g_VX2X_hasXname_markoX': [(lambda g, v1Id=None:g.V(v1Id).has('name','marko'))], 
+    'g_VX1X_hasXnameX': [(lambda g, vid1=None:g.V(vid1).has('name'))], 
+    'g_VX1X_hasXcircumferenceX': [(lambda g, vid1=None:g.V(vid1).has('circumference'))], 
+    'g_VX1X_hasXname_markoX': [(lambda g, vid1=None:g.V(vid1).has('name','marko'))], 
+    'g_VX2X_hasXname_markoX': [(lambda g, vid1=None:g.V(vid1).has('name','marko'))], 
     'g_V_hasXname_markoX': [(lambda g:g.V().has('name','marko'))], 
     'g_V_hasXname_blahX': [(lambda g:g.V().has('name','blah'))], 
     'g_V_hasXage_gt_30X': [(lambda g:g.V().has('age',P.gt(30)))], 
     'g_V_hasXage_isXgt_30XX': [(lambda g:g.V().has('age',__.is_(P.gt(30))))], 
     'g_V_hasXlabel_isXsoftwareXX': [(lambda g:g.V().has(T.label,__.is_('software')))], 
-    'g_VX1X_hasXage_gt_30X': [(lambda g, v1Id=None:g.V(v1Id).has('age',P.gt(30)))], 
-    'g_VX4X_hasXage_gt_30X': [(lambda g, v4Id=None:g.V(v4Id).has('age',P.gt(30)))], 
+    'g_VX1X_hasXage_gt_30X': [(lambda g, vid1=None:g.V(vid1).has('age',P.gt(30)))], 
+    'g_VX4X_hasXage_gt_30X': [(lambda g, vid4=None:g.V(vid4).has('age',P.gt(30)))], 
     'g_VXv1X_hasXage_gt_30X': [(lambda g, v1=None:g.V(v1).has('age',P.gt(30)))], 
     'g_VXv4X_hasXage_gt_30X': [(lambda g, v4=None:g.V(v4).has('age',P.gt(30)))], 
-    'g_VX1X_out_hasXid_lt_3X': [(lambda g, v1Id=None,ltXv3IdX=None:g.V(v1Id).out().has(T.id,ltXv3IdX))], 
-    'g_VX1AsStringX_out_hasXid_2AsStringX': [(lambda g, v1Id=None,v2Id=None:g.V(v1Id).out().hasId(v2Id))], 
+    'g_VX1X_out_hasXid_lt_3X': [(lambda g, xx1=None,vid1=None:g.V(vid1).out().has(T.id,xx1))], 
+    'g_VX1AsStringX_out_hasXid_2AsStringX': [(lambda g, vid2=None,vid1=None:g.V(vid1).out().hasId(vid2))], 
     'g_VX1X_out_hasXid_2X': [(lambda g, v2=None:g.V(v2).has('age',P.gt(30)))], 
-    'g_VX1X_out_hasIdX2X': [(lambda g, v1Id=None,v2Id=None:g.V(v1Id).out().hasId(v2Id))], 
-    'g_VX1X_out_hasXid_2_3X': [(lambda g, v1Id=None,v2Id=None,v3Id=None:g.V(v1Id).out().hasId(v2Id,v3Id))], 
-    'g_VX1X_out_hasXid_2AsString_3AsStringX': [(lambda g, v1Id=None,v2Id=None,v3Id=None:g.V(v1Id).out().hasId(v2Id,v3Id))], 
+    'g_VX1X_out_hasIdX2X': [(lambda g, vid2=None,vid1=None:g.V(vid1).out().hasId(vid2))], 
+    'g_VX1X_out_hasXid_2_3X': [(lambda g, vid3=None,vid2=None,vid1=None:g.V(vid1).out().hasId(vid2,vid3))], 
+    'g_VX1X_out_hasXid_2AsString_3AsStringX': [(lambda g, vid3=None,vid2=None,vid1=None:g.V(vid1).out().hasId(vid2,vid3))], 
     'g_V_hasXblahX': [(lambda g:g.V().has('blah'))], 
-    'g_EX7X_hasXlabelXknowsX': [(lambda g, e7Id=None:g.E(e7Id).hasLabel('knows'))], 
+    'g_EX7X_hasXlabelXknowsX': [(lambda g, eid7=None:g.E(eid7).hasLabel('knows'))], 
     'g_E_hasXlabelXknowsX': [(lambda g:g.E().hasLabel('knows'))], 
     'g_E_hasLabelXuses_traversesX': [(lambda g:g.E().hasLabel('uses','traverses'))], 
     'g_V_hasLabelXperson_software_blahX': [(lambda g:g.V().hasLabel('person','software','blah'))], 
     'g_V_hasXperson_name_markoX_age': [(lambda g:g.V().has('person','name','marko').age)], 
-    'g_VX1X_outE_hasXweight_inside_0_06X_inV': [(lambda g, v1Id=None:g.V(v1Id).outE().has('weight',P.gt(float(0.0)).and_(P.lt(float(0.6)))).inV())], 
-    'g_EX11X_outV_outE_hasXid_10X': [(lambda g, e11Id=None,e10Id=None:g.E(e11Id).outV().outE().has(T.id,e10Id))], 
-    'g_EX11X_outV_outE_hasXid_10AsStringX': [(lambda g, e11Id=None,e10Id=None:g.E(e11Id).outV().outE().has(T.id,e10Id))], 
+    'g_VX1X_outE_hasXweight_inside_0_06X_inV': [(lambda g, vid1=None:g.V(vid1).outE().has('weight',P.gt(float(0.0)).and_(P.lt(float(0.6)))).inV())], 
+    'g_EX11X_outV_outE_hasXid_10X': [(lambda g, eid11=None,eid10=None:g.E(eid11).outV().outE().has(T.id,eid10))], 
+    'g_EX11X_outV_outE_hasXid_10AsStringX': [(lambda g, eid11=None,eid10=None:g.E(eid11).outV().outE().has(T.id,eid10))], 
     'g_V_hasXlocationX': [(lambda g:g.V().has('location'))], 
     'g_V_hasLabelXpersonX_hasXage_notXlteX10X_andXnotXbetweenX11_20XXXX_andXltX29X_orXeqX35XXXX_name': [(lambda g:g.V().hasLabel('person').has('age',P.gt(10).or_(P.gte(11).and_(P.lt(20))).and_(P.lt(29).or_(P.eq(35)))).name)], 
-    'g_V_in_hasIdXneqX1XX': [(lambda g, neqXv1IdX=None:g.V().in_().hasId(neqXv1IdX))], 
+    'g_V_in_hasIdXneqX1XX': [(lambda g, xx1=None:g.V().in_().hasId(xx1))], 
     'g_V_hasXage_withinX27X_count': [(lambda g:g.V().has('age',P.within([27])).count())], 
     'g_V_hasXage_withinX27_29X_count': [(lambda g:g.V().has('age',P.within([27,29])).count())], 
     'g_V_hasXage_withoutX27X_count': [(lambda g:g.V().has('age',P.without([27])).count())], 
@@ -178,12 +178,12 @@ world.gremlins = {
     'g_V_bothE_properties_dedup_hasKeyXweightX_value': [(lambda g:g.V().bothE().properties().dedup().hasKey('weight').value())], 
     'g_V_bothE_properties_dedup_hasKeyXweightX_hasValueXltX0d3XX_value': [(lambda g:g.V().bothE().properties().dedup().hasKey('weight').hasValue(P.lt(float(0.3))).value())], 
     'g_V_hasNotXageX_name': [(lambda g:g.V().hasNot('age').name)], 
-    'g_V_hasIdX1X_hasIdX2X': [(lambda g, v1Id=None,v2Id=None:g.V().hasId(v1Id).hasId(v2Id))], 
+    'g_V_hasIdX1X_hasIdX2X': [(lambda g, vid2=None,vid1=None:g.V().hasId(vid1).hasId(vid2))], 
     'g_V_hasLabelXpersonX_hasLabelXsoftwareX': [(lambda g:g.V().hasLabel('person').hasLabel('software'))], 
-    'g_V_hasIdXemptyX_count': [(lambda g, l=None:g.V().hasId(l).count())], 
-    'g_V_hasIdXwithinXemptyXX_count': [(lambda g, withinXlX=None:g.V().hasId(withinXlX).count())], 
-    'g_V_hasIdXwithoutXemptyXX_count': [(lambda g, withoutXlX=None:g.V().hasId(withoutXlX).count())], 
-    'g_V_notXhasIdXwithinXemptyXXX_count': [(lambda g, withinXlX=None:g.V().not_(__.hasId(withinXlX)).count())], 
+    'g_V_hasIdXemptyX_count': [(lambda g, xx1=None:g.V().hasId(xx1).count())], 
+    'g_V_hasIdXwithinXemptyXX_count': [(lambda g, xx1=None:g.V().hasId(xx1).count())], 
+    'g_V_hasIdXwithoutXemptyXX_count': [(lambda g, xx1=None:g.V().hasId(xx1).count())], 
+    'g_V_notXhasIdXwithinXemptyXXX_count': [(lambda g, xx1=None:g.V().not_(__.hasId(xx1)).count())], 
     'g_V_hasXname_containingXarkXX': [(lambda g:g.V().has('name',TextP.containing('ark')))], 
     'g_V_hasXname_startingWithXmarXX': [(lambda g:g.V().has('name',TextP.startingWith('mar')))], 
     'g_V_hasXname_endingWithXasXX': [(lambda g:g.V().has('name',TextP.endingWith('as')))], 
@@ -201,12 +201,12 @@ world.gremlins = {
     'g_V_orXhasXage_gt_27X__outE_count_gte_2X_name': [(lambda g:g.V().or_(__.has('age',P.gt(27)),__.outE().count().is_(P.gte(2))).name)], 
     'g_V_orXoutEXknowsX__hasXlabel_softwareX_or_hasXage_gte_35XX_name': [(lambda g:g.V().or_(__.outE('knows'),__.has(T.label,'software').or_().has('age',P.gte(35))).name)], 
     'g_V_asXaX_orXselectXaX_selectXaXX': [(lambda g:g.V().as_('a').or_(__.select('a'),__.select('a')))], 
-    'g_VX1X_out_limitX2X': [(lambda g, v1Id=None:g.V(v1Id).out()[0:2])], 
+    'g_VX1X_out_limitX2X': [(lambda g, vid1=None:g.V(vid1).out()[0:2])], 
     'g_V_localXoutE_limitX1X_inVX_limitX3X': [(lambda g:g.V().local(__.outE()[0:1]).inV()[0:3])], 
-    'g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV': [(lambda g, v1Id=None:g.V(v1Id).out('knows').outE('created')[0].inV())], 
-    'g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X': [(lambda g, v1Id=None:g.V(v1Id).out('knows').out('created')[0])], 
-    'g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X': [(lambda g, v1Id=None:g.V(v1Id).out('created').in_('created')[1:3])], 
-    'g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV': [(lambda g, v1Id=None:g.V(v1Id).out('created').inE('created')[1:3].outV())], 
+    'g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV': [(lambda g, vid1=None:g.V(vid1).out('knows').outE('created')[0].inV())], 
+    'g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X': [(lambda g, vid1=None:g.V(vid1).out('knows').out('created')[0])], 
+    'g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X': [(lambda g, vid1=None:g.V(vid1).out('created').in_('created')[1:3])], 
+    'g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV': [(lambda g, vid1=None:g.V(vid1).out('created').inE('created')[1:3].outV())], 
     'g_V_repeatXbothX_timesX3X_rangeX5_11X': [(lambda g:g.V().repeat(__.both()).times(3)[5:11])], 
     'g_V_asXaX_in_asXbX_in_asXcX_selectXa_b_cX_byXnameX_limitXlocal_2X': [(lambda g:g.V().as_('a').in_().as_('b').in_().as_('c').select('a','b','c').by('name').limit(Scope.local,2))], 
     'g_V_asXaX_in_asXbX_in_asXcX_selectXa_b_cX_byXnameX_limitXlocal_1X': [(lambda g:g.V().as_('a').in_().as_('b').in_().as_('c').select('a','b','c').by('name').limit(Scope.local,1))], 
@@ -225,7 +225,7 @@ world.gremlins = {
     'g_V_localXoutE_sampleX1X_byXweightXX': [(lambda g:g.V().local(__.outE().sample(1).by('weight')))], 
     'g_V_group_byXlabelX_byXbothE_weight_sampleX2X_foldX': [(lambda g:g.V().group().by(T.label).by(__.bothE().weight.sample(2).fold()))], 
     'g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX': [(lambda g:g.V().group().by(T.label).by(__.bothE().weight.fold().sample(Scope.local,5)))], 
-    'g_VX1X_outXcreatedX_inXcreatedX_simplePath': [(lambda g, v1Id=None:g.V(v1Id).out('created').in_('created').simplePath())], 
+    'g_VX1X_outXcreatedX_inXcreatedX_simplePath': [(lambda g, vid1=None:g.V(vid1).out('created').in_('created').simplePath())], 
     'g_V_repeatXboth_simplePathX_timesX3X_path': [(lambda g:g.V().repeat(__.both().simplePath()).times(3).path())], 
     'g_V_asXaX_out_asXbX_out_asXcX_simplePath_byXlabelX_fromXbX_toXcX_path_byXnameX': [(lambda g:g.V().as_('a').out().as_('b').out().as_('c').simplePath().by(T.label).from_('b').to('c').path().by('name'))], 
     'g_V_valuesXnameX_order_tailXglobal_2X': [(lambda g:g.V().name.order().tail(Scope.global_,2))], 
@@ -247,14 +247,14 @@ world.gremlins = {
     'g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX': [(lambda g:g.V().has('age').as_('a').out().in_().has('age').as_('b').select('a','b').where(__.as_('b').has('name','marko')))], 
     'g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX': [(lambda g:g.V().has('age').as_('a').out().in_().has('age').as_('b').select('a','b').where(__.as_('a').out('knows').as_('b')))], 
     'g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name': [(lambda g:g.V().as_('a').out('created').where(__.as_('a').name.is_('josh')).in_('created').name)], 
-    'g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX': [(lambda g, v1Id=None,l=None:g.withSideEffect('a',l).V(v1Id).out('created').in_('created').name.where(P.within(['a'])))], 
-    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('created').in_('created').as_('b').where('a',P.neq('b')).name)], 
-    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('created').in_('created').as_('b').where(__.as_('b').out('created').has('name','ripple')).values('age','name'))], 
-    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('created').in_('created').where(P.eq('a')).name)], 
-    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('created').in_('created').where(P.neq('a')).name)], 
-    'g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX': [(lambda g, v1Id=None:g.V(v1Id).out().aggregate('x').out().where(P.without(['x'])))], 
-    'g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX': [(lambda g, v1Id=None,v2=None:g.withSideEffect('a',v2).V(v1Id).out().where(P.neq('a')))], 
-    'g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path': [(lambda g, v1Id=None:g.V(v1Id).repeat(__.bothE('created').where(P.without(['e'])).aggregate('e').otherV()).emit().path())], 
+    'g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX': [(lambda g, initial=None,vid1=None:g.withSideEffect('a',initial).V(vid1).out('created').in_('created').name.where(P.within(['a'])))], 
+    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name': [(lambda g, vid1=None:g.V(vid1).as_('a').out('created').in_('created').as_('b').where('a',P.neq('b')).name)], 
+    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX': [(lambda g, vid1=None:g.V(vid1).as_('a').out('created').in_('created').as_('b').where(__.as_('b').out('created').has('name','ripple')).values('age','name'))], 
+    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name': [(lambda g, vid1=None:g.V(vid1).as_('a').out('created').in_('created').where(P.eq('a')).name)], 
+    'g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name': [(lambda g, vid1=None:g.V(vid1).as_('a').out('created').in_('created').where(P.neq('a')).name)], 
+    'g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX': [(lambda g, vid1=None:g.V(vid1).out().aggregate('x').out().where(P.without(['x'])))], 
+    'g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX': [(lambda g, vid1=None,v2=None:g.withSideEffect('a',v2).V(vid1).out().where(P.neq('a')))], 
+    'g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path': [(lambda g, vid1=None:g.V(vid1).repeat(__.bothE('created').where(P.without(['e'])).aggregate('e').otherV()).emit().path())], 
     'g_V_whereXnotXoutXcreatedXXX_name': [(lambda g:g.V().where(__.not_(__.out('created'))).name)], 
     'g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_selectXa_bX': [(lambda g:g.V().as_('a').out().as_('b').where(__.and_(__.as_('a').out('knows').as_('b'),__.or_(__.as_('b').out('created').has('name','ripple'),__.as_('b').in_('knows').count().is_(P.neq(0))))).select('a','b'))], 
     'g_V_whereXoutXcreatedX_and_outXknowsX_or_inXknowsXX_valuesXnameX': [(lambda g:g.V().where(__.out('created').and_().out('knows').or_().in_('knows')).name)], 
@@ -264,20 +264,20 @@ world.gremlins = {
     'g_V_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_gtXbXX_byXageX_selectXa_bX_byXnameX': [(lambda g:g.V().as_('a').out('created').in_('created').as_('b').where('a',P.gt('b')).by('age').select('a','b').by('name'))], 
     'g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX': [(lambda g:g.V().as_('a').outE('created').as_('b').inV().as_('c').where('a',P.gt('b').or_(P.eq('b'))).by('age').by('weight').by('weight').select('a','c').by('name'))], 
     'g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX': [(lambda g:g.V().as_('a').outE('created').as_('b').inV().as_('c').in_('created').as_('d').where('a',P.lt('b').or_(P.gt('c')).and_(P.neq('d'))).by('age').by('weight').by(__.in_('created').age.min()).select('a','c','d').by('name'))], 
-    'g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out().has('age').where(P.gt('a')).by('age').name)], 
-    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX': [(lambda g, v1Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','rippl [...]
-    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X': [(lambda g, v1Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).pro [...]
+    'g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name': [(lambda g, vid1=None:g.V(vid1).as_('a').out().has('age').where(P.gt('a')).by('age').name)], 
+    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX': [(lambda g, vid1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','rippl [...]
+    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X': [(lambda g, vid1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).pro [...]
     'g_V_outE_propertyXweight_nullX': [(lambda g:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','ripple').property('lang','java'). [...]
-    'g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX': [(lambda g, v1Id=None,v2Id=None,v3Id=None,v4Id=None,v5Id=None,v6Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').pro [...]
-    'g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X': [(lambda g, v1Id=None,v2Id=None,v4Id=None,v6Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh' [...]
-    'g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX': [(lambda g, v1Id=None,v2Id=None,v3Id=None,v4Id=None,v5Id=None,v6Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh' [...]
+    'g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX': [(lambda g, vid1=None,vid2=None,vid3=None,vid4=None,vid5=None,vid6=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').pro [...]
+    'g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X': [(lambda g, vid1=None,vid2=None,vid4=None,vid6=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh' [...]
+    'g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX': [(lambda g, vid1=None,vid2=None,vid3=None,vid4=None,vid5=None,vid6=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh' [...]
     'g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X': [(lambda g, v6=None,v1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5 [...]
     'g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX': [(lambda g:g.addV().as_('first').repeat(__.addE('next').to(__.addV()).inV()).times(5).addE('next').to(__.select('first'))), (lambda g:g.V()), (lambda g:g.E()), (lambda g:g.E().hasLabel('next')), (lambda g:g.V()[0:1].bothE()), (lambda g:g.V()[0:1].inE()), (lambda g:g.V()[0:1].outE())], 
     'g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX': [(lambda g, v1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T. [...]
     'g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX': [(lambda g, v2=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').pro [...]
-    'g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,v1=None,dotOne=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).pro [...]
-    'g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,v1=None,dotOne=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).proper [...]
-    'g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX': [(lambda g, v1Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id, [...]
+    'g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,xx1=None,v1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).proper [...]
+    'g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,xx1=None,v1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property( [...]
+    'g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX': [(lambda g, vid1=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id, [...]
     'g_V_addVXanimalX_propertyXage_0X': [(lambda g:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','ripple').property('lang','java' [...]
     'g_addVXpersonX_propertyXname_stephenX': [(lambda g:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','ripple').property('lang',' [...]
     'g_V_hasLabelXpersonX_propertyXname_nullX': [(lambda g:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id,5).property('name','ripple').property('lang [...]
@@ -295,8 +295,8 @@ world.gremlins = {
     'g_addVXnullX_propertyXid_nullX': [(lambda g:g.addV(None).property(T.id,None)), (lambda g:g.V().hasLabel('vertex'))], 
     'g_addV_propertyXlabel_personX': [(lambda g:g.addV().property(T.label,'person')), (lambda g:g.V().hasLabel('person'))], 
     'g_V_coalesceXoutXfooX_outXbarXX': [(lambda g:g.V().coalesce(__.out('foo'),__.out('bar')))], 
-    'g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX': [(lambda g, v1Id=None:g.V(v1Id).coalesce(__.out('knows'),__.out('created')).name)], 
-    'g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX': [(lambda g, v1Id=None:g.V(v1Id).coalesce(__.out('created'),__.out('knows')).name)], 
+    'g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX': [(lambda g, vid1=None:g.V(vid1).coalesce(__.out('knows'),__.out('created')).name)], 
+    'g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX': [(lambda g, vid1=None:g.V(vid1).coalesce(__.out('created'),__.out('knows')).name)], 
     'g_V_coalesceXoutXlikesX_outXknowsX_inXcreatedXX_groupCount_byXnameX': [(lambda g:g.V().coalesce(__.out('likes'),__.out('knows'),__.out('created')).groupCount().by('name'))], 
     'g_V_coalesceXoutEXknowsX_outEXcreatedXX_otherV_path_byXnameX_byXlabelX': [(lambda g:g.V().coalesce(__.outE('knows'),__.outE('created')).otherV().path().by('name').by(T.label))], 
     'g_V_outXcreatedX_order_byXnameX_coalesceXname_constantXxXX': [(lambda g:g.V().out('created').order().by('name').coalesce(__.name,__.constant('x')))], 
@@ -318,28 +318,28 @@ world.gremlins = {
     'g_V_repeatXoutX_timesX3X_count': [(lambda g:g.V().repeat(__.out()).times(3).count())], 
     'g_V_elementMap': [(lambda g:g.V().elementMap())], 
     'g_V_elementMapXname_ageX': [(lambda g:g.V().elementMap('name','age'))], 
-    'g_EX11X_elementMap': [(lambda g, e11Id=None:g.E(e11Id).elementMap())], 
+    'g_EX11X_elementMap': [(lambda g, eid11=None:g.E(eid11).elementMap())], 
     'g_V_asXaX_flatMapXselectXaXX': [(lambda g:g.V().as_('a').flatMap(__.select('a')))], 
     'g_V_fold': [(lambda g:g.V().fold())], 
     'g_V_fold_unfold': [(lambda g:g.V().fold().unfold())], 
     'g_V_age_foldX0_plusX': [(lambda g:g.V().age.fold(0,Operator.sum))], 
-    'g_VX1X_V_valuesXnameX': [(lambda g, v1Id=None:g.V(v1Id).V().name)], 
+    'g_VX1X_V_valuesXnameX': [(lambda g, vid1=None:g.V(vid1).V().name)], 
     'g_V_outXknowsX_V_name': [(lambda g:g.V().out('knows').V().name)], 
     'g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name': [(lambda g:g.V().has('artist','name','Garcia').in_('sungBy').as_('song').V().has('artist','name','Willie_Dixon').in_('writtenBy').where(P.eq('song')).name)], 
-    'g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX': [(lambda g, software=None,v1Id=None,v2Id=None,v3Id=None,v4Id=None,v5Id=None,v6Id=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32 [...]
+    'g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX': [(lambda g, xx1=None,vid1=None,vid2=None,vid3=None,vid4=None,vid5=None,vid6=None:g.addV('person').property(T.id,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id,4).property('name','josh').property('age',32).as_ [...]
     'g_V_hasLabelXsoftwareX_index_unfold': [(lambda g:g.V().hasLabel('software').index().unfold())], 
     'g_V_hasLabelXsoftwareX_order_byXnameX_index_withXmapX': [(lambda g:g.V().hasLabel('software').order().by('name').index().with_('~tinkerpop.index.indexer',1))], 
     'g_V_hasLabelXsoftwareX_name_fold_orderXlocalX_index_unfold_order_byXtailXlocal_1XX': [(lambda g:g.V().hasLabel('software').name.fold().order(Scope.local).index().unfold().order().by(__.tail(Scope.local,1)))], 
     'g_V_hasLabelXpersonX_name_fold_orderXlocalX_index_withXmapX': [(lambda g:g.V().hasLabel('person').name.fold().order(Scope.local).index().with_('~tinkerpop.index.indexer',1))], 
-    'g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX': [(lambda g, v1Id=None:g.V(v1Id).repeat(__.both().simplePath()).until(__.has('name','peter').or_().loops().is_(3)).has('name','peter').path().by('name'))], 
-    'g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX': [(lambda g, v1Id=None:g.V(v1Id).repeat(__.both().simplePath()).until(__.has('name','peter').or_().loops().is_(2)).has('name','peter').path().by('name'))], 
-    'g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX': [(lambda g, v1Id=None:g.V(v1Id).repeat(__.both().simplePath()).until(__.has('name','peter').and_().loops().is_(3)).has('name','peter').path().by('name'))], 
+    'g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX': [(lambda g, vid1=None:g.V(vid1).repeat(__.both().simplePath()).until(__.has('name','peter').or_().loops().is_(3)).has('name','peter').path().by('name'))], 
+    'g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX': [(lambda g, vid1=None:g.V(vid1).repeat(__.both().simplePath()).until(__.has('name','peter').or_().loops().is_(2)).has('name','peter').path().by('name'))], 
+    'g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX': [(lambda g, vid1=None:g.V(vid1).repeat(__.both().simplePath()).until(__.has('name','peter').and_().loops().is_(3)).has('name','peter').path().by('name'))], 
     'g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX': [(lambda g:g.V().emit(__.has('name','marko').or_().loops().is_(2)).repeat(__.out()).name)], 
-    'g_VX1X_mapXnameX': [(lambda g, v1Id=None,l=None:g.V(v1Id).map(l))], 
-    'g_VX1X_outE_label_mapXlengthX': [(lambda g, v1Id=None,l=None:g.V(v1Id).outE().label().map(l))], 
-    'g_VX1X_out_mapXnameX_mapXlengthX': [(lambda g, v1Id=None,l1=None,l2=None:g.V(v1Id).out().map(l1).map(l2))], 
-    'g_withPath_V_asXaX_out_mapXa_nameX': [(lambda g, l=None:g.withPath().V().as_('a').out().map(l))], 
-    'g_withPath_V_asXaX_out_out_mapXa_name_it_nameX': [(lambda g, l=None:g.withPath().V().as_('a').out().out().map(l))], 
+    'g_VX1X_mapXnameX': [(lambda g, l1=None,vid1=None:g.V(vid1).map(l1))], 
+    'g_VX1X_outE_label_mapXlengthX': [(lambda g, l1=None,vid1=None:g.V(vid1).outE().label().map(l1))], 
+    'g_VX1X_out_mapXnameX_mapXlengthX': [(lambda g, l1=None,l2=None,vid1=None:g.V(vid1).out().map(l1).map(l2))], 
+    'g_withPath_V_asXaX_out_mapXa_nameX': [(lambda g, l1=None:g.withPath().V().as_('a').out().map(l1))], 
+    'g_withPath_V_asXaX_out_out_mapXa_name_it_nameX': [(lambda g, l1=None:g.withPath().V().as_('a').out().out().map(l1))], 
     'g_V_mapXselectXaXX': [(lambda g:g.V().as_('a').map(__.select('a')))], 
     'g_V_mapXconstantXnullXX': [(lambda g:g.V().map(__.constant(None)))], 
     'g_V_valueMap_matchXa_selectXnameX_bX': [(lambda g:g.V().valueMap().match(__.as_('a').select('name').as_('b')))], 
@@ -380,7 +380,7 @@ world.gremlins = {
     'g_V_outE_mathX0_minus_itX_byXweightX': [(lambda g:g.V().outE().math('0-_').by('weight'))], 
     'g_V_hasXageX_valueMap_mathXit_plus_itXbyXselectXageX_unfoldXX': [(lambda g:g.V().has('age').valueMap().math('_+_').by(__.select('age').unfold()))], 
     'g_V_asXaX_outXknowsX_asXbX_mathXa_plus_bX_byXageX': [(lambda g:g.V().as_('a').out('knows').as_('b').math('a + b').by('age'))], 
-    'g_withSideEffectXx_100X_V_age_mathX__plus_xX': [(lambda g, x=None:g.withSideEffect('x',x).V().age.math('_ + x'))], 
+    'g_withSideEffectXx_100X_V_age_mathX__plus_xX': [(lambda g, initial=None:g.withSideEffect('x',initial).V().age.math('_ + x'))], 
     'g_V_asXaX_outXcreatedX_asXbX_mathXb_plus_aX_byXinXcreatedX_countX_byXageX': [(lambda g:g.V().as_('a').out('created').as_('b').math('b + a').by(__.in_('created').count()).by('age'))], 
     'g_withSackX1X_injectX1X_repeatXsackXsumX_byXconstantX1XXX_timesX5X_emit_mathXsin__X_byXsackX': [(lambda g:g.withSack(1).inject(1).repeat(__.sack(Operator.sum).by(__.constant(1))).times(5).emit().math('sin _').by(__.sack()))], 
     'g_V_projectXa_b_cX_byXbothE_weight_sumX_byXbothE_countX_byXnameX_order_byXmathXa_div_bX_descX_selectXcX': [(lambda g:g.V().project('a','b','c').by(__.bothE().weight.sum()).by(__.bothE().count()).by('name').order().by(__.math('a / b'),Order.desc).select('c'))], 
@@ -405,13 +405,13 @@ world.gremlins = {
     'g_V_name_fold_minXlocalX': [(lambda g:g.V().name.fold().min(Scope.local))], 
     'g_V_repeatXbothX_timesX5X_age_min': [(lambda g:g.V().repeat(__.both()).times(5).age.min())], 
     'g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX': [(lambda g:g.V().hasLabel('software').group().by('name').by(__.bothE().weight.min()))], 
-    'g_V_foo_injectX9999999999X_min': [(lambda g, injectVal=None:g.V().foo.inject(injectVal).min())], 
+    'g_V_foo_injectX9999999999X_min': [(lambda g, xx1=None:g.V().foo.inject(xx1).min())], 
     'g_V_name_order': [(lambda g:g.V().name.order())], 
-    'g_V_name_order_byXa1_b1X_byXb2_a2X': [(lambda g, l1=None,l2=None:g.V().name.order().by(l1).by(l2))], 
+    'g_V_name_order_byXa1_b1X_byXb2_a2X': [(lambda g, c1=None,c2=None:g.V().name.order().by(c1).by(c2))], 
     'g_V_order_byXname_ascX_name': [(lambda g:g.V().order().by('name',Order.asc).name)], 
     'g_V_order_byXnameX_name': [(lambda g:g.V().order().by('name').name)], 
     'g_V_outE_order_byXweight_descX_weight': [(lambda g:g.V().outE().order().by('weight',Order.desc).weight)], 
-    'g_V_order_byXname_a1_b1X_byXname_b2_a2X_name': [(lambda g, l1=None,l2=None:g.V().order().by('name',l1).by('name',l2).name)], 
+    'g_V_order_byXname_a1_b1X_byXname_b2_a2X_name': [(lambda g, c1=None,c2=None:g.V().order().by('name',c1).by('name',c2).name)], 
     'g_V_asXaX_outXcreatedX_asXbX_order_byXshuffleX_selectXa_bX': [(lambda g:g.V().as_('a').out('created').as_('b').order().by(Order.shuffle).select('a','b'))], 
     'g_V_both_hasLabelXpersonX_order_byXage_descX_limitX5X_name': [(lambda g:g.V().both().hasLabel('person').order().by('age',Order.desc)[0:5].name)], 
     'g_V_properties_order_byXkey_descX_key': [(lambda g:g.V().properties().order().by(T.key,Order.desc).key())], 
@@ -426,7 +426,7 @@ world.gremlins = {
     'g_V_order_byXoutE_count_descX': [(lambda g:g.V().order().by(__.outE().count(),Order.desc))], 
     'g_V_hasLabelXpersonX_order_byXageX': [(lambda g:g.V().hasLabel('person').order().by('age'))], 
     'g_VX1X_hasXlabel_personX_mapXmapXint_ageXX_orderXlocalX_byXvalues_descX_byXkeys_ascX': [(lambda g, l1=None,v1=None:g.V(v1).hasLabel('person').map(l1).order(Scope.local).by(Column.values,Order.desc).by(Column.keys,Order.asc))], 
-    'g_VX1X_elementMap_orderXlocalX_byXkeys_descXunfold': [(lambda g, v1Id=None:g.V(v1Id).elementMap().order(Scope.local).by(Column.keys,Order.desc).unfold())], 
+    'g_VX1X_elementMap_orderXlocalX_byXkeys_descXunfold': [(lambda g, vid1=None:g.V(vid1).elementMap().order(Scope.local).by(Column.keys,Order.desc).unfold())], 
     'g_V_pageRank_hasXpageRankX': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().pageRank().has('gremlin.pageRankVertexProgram.pageRank')), (lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.Grap [...]
     'g_V_outXcreatedX_pageRank_withXedges_bothEX_withXpropertyName_projectRankX_withXtimes_0X_valueMapXname_projectRankX': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().out('created').pageRank().with_('~tinkerpop.pageRank.edges',__.bothE()).with_('~tinkerpop.pageRank.propertyNa [...]
     'g_V_pageRank_order_byXpageRank_descX_byXnameX_name': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().pageRank().order().by('gremlin.pageRankVertexProgram.pageRank',Order.desc).by('name').name)], 
@@ -436,12 +436,12 @@ world.gremlins = {
     'g_V_pageRank_withXpropertyName_pageRankX_asXaX_outXknowsX_pageRank_asXbX_selectXa_bX_by_byXmathX': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().pageRank().with_('~tinkerpop.pageRank.propertyName','pageRank').as_('a').out('knows').values('pageRank').as_('b').select('a','b' [...]
     'g_V_hasLabelXsoftwareX_hasXname_rippleX_pageRankX1X_withXedges_inEXcreatedX_withXtimes_1X_withXpropertyName_priorsX_inXcreatedX_unionXboth__identityX_valueMapXname_priorsX': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().hasLabel('software').has('name','ripple').pageRank(fl [...]
     'g_V_outXcreatedX_groupXmX_byXlabelX_pageRankX1X_withXpropertyName_pageRankX_withXedges_inEX_withXtimes_1X_inXcreatedX_groupXmX_byXpageRankX_capXmX': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().out('created').group('m').by(T.label).pageRank(float(1.0)).with_('~tinkerpop.p [...]
-    'g_VX1X_name_path': [(lambda g, v1Id=None:g.V(v1Id).name.path())], 
-    'g_VX1X_out_path_byXageX_byXnameX': [(lambda g, v1Id=None:g.V(v1Id).out().path().by('age').by('name'))], 
+    'g_VX1X_name_path': [(lambda g, vid1=None:g.V(vid1).name.path())], 
+    'g_VX1X_out_path_byXageX_byXnameX': [(lambda g, vid1=None:g.V(vid1).out().path().by('age').by('name'))], 
     'g_V_repeatXoutX_timesX2X_path_byXitX_byXnameX_byXlangX': [(lambda g:g.V().repeat(__.out()).times(2).path().by().by('name').by('lang'))], 
     'g_V_out_out_path_byXnameX_byXageX': [(lambda g:g.V().out().out().path().by('name').by('age'))], 
     'g_V_asXaX_hasXname_markoX_asXbX_hasXage_29X_asXcX_path': [(lambda g:g.V().as_('a').has('name','marko').as_('b').has('age',29).as_('c').path())], 
-    'g_VX1X_outEXcreatedX_inV_inE_outV_path': [(lambda g, v1Id=None:g.V(v1Id).outE('created').inV().inE().outV().path())], 
+    'g_VX1X_outEXcreatedX_inV_inE_outV_path': [(lambda g, vid1=None:g.V(vid1).outE('created').inV().inE().outV().path())], 
     'g_V_asXaX_out_asXbX_out_asXcX_path_fromXbX_toXcX_byXnameX': [(lambda g:g.V().as_('a').out().as_('b').out().as_('c').path().from_('b').to('c').by('name'))], 
     'g_V_peerPressure_hasXclusterX': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().peerPressure().has('gremlin.peerPressureVertexProgram.cluster')), (lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.com [...]
     'g_V_peerPressure_withXpropertyName_clusterX_withXedges_outEXknowsXX_pageRankX1X_byXrankX_withXedges_outEXknowsX_withXtimes_2X_group_byXclusterX_byXrank_sumX_limitX100X': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().peerPressure().with_('~tinkerpop.peerPressure.propertyNam [...]
@@ -452,10 +452,10 @@ world.gremlins = {
     'g_V_hasXageX_propertiesXnameX': [(lambda g:g.V().has('age').properties('name').value())], 
     'g_V_hasXageX_propertiesXname_ageX_value': [(lambda g:g.V().has('age').properties('name','age').value())], 
     'g_V_hasXageX_propertiesXage_nameX_value': [(lambda g:g.V().has('age').properties('age','name').value())], 
-    'get_g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('knows').as_('b').select('a','b'))], 
-    'g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX_byXnameX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('knows').as_('b').select('a','b').by('name'))], 
-    'g_VX1X_asXaX_outXknowsX_asXbX_selectXaX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('knows').as_('b').select('a'))], 
-    'g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('knows').as_('b').select('a').by('name'))], 
+    'get_g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX': [(lambda g, vid1=None:g.V(vid1).as_('a').out('knows').as_('b').select('a','b'))], 
+    'g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX_byXnameX': [(lambda g, vid1=None:g.V(vid1).as_('a').out('knows').as_('b').select('a','b').by('name'))], 
+    'g_VX1X_asXaX_outXknowsX_asXbX_selectXaX': [(lambda g, vid1=None:g.V(vid1).as_('a').out('knows').as_('b').select('a'))], 
+    'g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX': [(lambda g, vid1=None:g.V(vid1).as_('a').out('knows').as_('b').select('a').by('name'))], 
     'g_V_asXaX_out_asXbX_selectXa_bX_byXnameX': [(lambda g:g.V().as_('a').out().as_('b').select('a','b').by('name'))], 
     'g_V_asXaX_out_aggregateXxX_asXbX_selectXa_bX_byXnameX': [(lambda g:g.V().as_('a').out().aggregate('x').as_('b').select('a','b').by('name'))], 
     'g_V_asXaX_name_order_asXbX_selectXa_bX_byXnameX_by_XitX': [(lambda g:g.V().as_('a').name.order().as_('b').select('a','b').by('name').by())], 
@@ -463,14 +463,14 @@ world.gremlins = {
     'g_V_hasXname_isXmarkoXX_asXaX_selectXaX': [(lambda g:g.V().has('name',__.is_('marko')).as_('a').select('a'))], 
     'g_V_label_groupCount_asXxX_selectXxX': [(lambda g:g.V().label().groupCount().as_('x').select('x'))], 
     'g_V_hasLabelXpersonX_asXpX_mapXbothE_label_groupCountX_asXrX_selectXp_rX': [(lambda g:g.V().hasLabel('person').as_('p').map(__.bothE().label().groupCount()).as_('r').select('p','r'))], 
-    'g_V_chooseXoutE_count_isX0X__asXaX__asXbXX_chooseXselectXaX__selectXaX__selectXbXX': [(lambda g, zero=None:g.V().choose(__.outE().count().is_(zero),__.as_('a'),__.as_('b')).choose(__.select('a'),__.select('a'),__.select('b')))], 
-    'g_VX1X_groupXaX_byXconstantXaXX_byXnameX_selectXaX_selectXaX': [(lambda g, v1Id=None:g.V(v1Id).group('a').by(__.constant('a')).by(__.name).barrier().select('a').select('a'))], 
-    'g_VX1X_asXhereX_out_selectXhereX': [(lambda g, v1Id=None:g.V(v1Id).as_('here').out().select('here'))], 
-    'g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX': [(lambda g, v4Id=None:g.V(v4Id).as_('here').out().select('here'))], 
-    'g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX_name': [(lambda g, v4Id=None:g.V(v4Id).out().as_('here').has('lang','java').select('here').name)], 
-    'g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX': [(lambda g, v1Id=None:g.V(v1Id).outE().as_('here').inV().has('name','vadas').select('here'))], 
-    'g_VX1X_outEXknowsX_hasXweight_1X_asXhereX_inV_hasXname_joshX_selectXhereX': [(lambda g, v1Id=None:g.V(v1Id).outE('knows').has('weight',float(1.0)).as_('here').inV().has('name','josh').select('here'))], 
-    'g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_asXfakeX_inV_hasXname_joshX_selectXhereX': [(lambda g, v1Id=None:g.V(v1Id).outE('knows').as_('here').has('weight',float(1.0)).as_('fake').inV().has('name','josh').select('here'))], 
+    'g_V_chooseXoutE_count_isX0X__asXaX__asXbXX_chooseXselectXaX__selectXaX__selectXbXX': [(lambda g, xx1=None:g.V().choose(__.outE().count().is_(xx1),__.as_('a'),__.as_('b')).choose(__.select('a'),__.select('a'),__.select('b')))], 
+    'g_VX1X_groupXaX_byXconstantXaXX_byXnameX_selectXaX_selectXaX': [(lambda g, vid1=None:g.V(vid1).group('a').by(__.constant('a')).by(__.name).barrier().select('a').select('a'))], 
+    'g_VX1X_asXhereX_out_selectXhereX': [(lambda g, vid1=None:g.V(vid1).as_('here').out().select('here'))], 
+    'g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX': [(lambda g, vid4=None:g.V(vid4).as_('here').out().select('here'))], 
+    'g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX_name': [(lambda g, vid4=None:g.V(vid4).out().as_('here').has('lang','java').select('here').name)], 
+    'g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX': [(lambda g, vid1=None:g.V(vid1).outE().as_('here').inV().has('name','vadas').select('here'))], 
+    'g_VX1X_outEXknowsX_hasXweight_1X_asXhereX_inV_hasXname_joshX_selectXhereX': [(lambda g, vid1=None:g.V(vid1).outE('knows').has('weight',float(1.0)).as_('here').inV().has('name','josh').select('here'))], 
+    'g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_asXfakeX_inV_hasXname_joshX_selectXhereX': [(lambda g, vid1=None:g.V(vid1).outE('knows').as_('here').has('weight',float(1.0)).as_('fake').inV().has('name','josh').select('here'))], 
     'g_V_asXhereXout_name_selectXhereX': [(lambda g:g.V().as_('here').out().name.select('here'))], 
     'g_V_outXcreatedX_unionXasXprojectX_inXcreatedX_hasXname_markoX_selectXprojectX__asXprojectX_inXcreatedX_inXknowsX_hasXname_markoX_selectXprojectXX_groupCount_byXnameX': [(lambda g:g.V().out('created').union(__.as_('project').in_('created').has('name','marko').select('project'),__.as_('project').in_('created').in_('knows').has('name','marko').select('project')).groupCount().by('name'))], 
     'g_V_untilXout_outX_repeatXin_asXaXX_selectXaX_byXtailXlocalX_nameX': [(lambda g:g.V().until(__.out().out()).repeat(__.in_().as_('a')).select('a').by(__.tail(Scope.local).name))], 
@@ -480,12 +480,12 @@ world.gremlins = {
     'g_V_outE_weight_groupCount_unfold_selectXvaluesX_unfold': [(lambda g:g.V().outE().weight.groupCount().unfold().select(Column.values).unfold())], 
     'g_V_untilXout_outX_repeatXin_asXaX_in_asXbXX_selectXa_bX_byXnameX': [(lambda g:g.V().until(__.out().out()).repeat(__.in_().as_('a').in_().as_('b')).select('a','b').by('name'))], 
     'g_V_outE_weight_groupCount_selectXvaluesX_unfold': [(lambda g:g.V().outE().weight.groupCount().select(Column.values).unfold())], 
-    'g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').out('knows').as_('b').select('a','b'))], 
+    'g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX': [(lambda g, vid1=None:g.V(vid1).as_('a').out('knows').as_('b').select('a','b'))], 
     'g_V_asXaX_whereXoutXknowsXX_selectXaX': [(lambda g:g.V().as_('a').where(__.out('knows')).select('a'))], 
-    'g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXfirst_aX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').repeat(__.out().as_('a')).times(2).select(Pop.first,'a'))], 
+    'g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXfirst_aX': [(lambda g, vid1=None:g.V(vid1).as_('a').repeat(__.out().as_('a')).times(2).select(Pop.first,'a'))], 
     'g_V_asXaX_outXknowsX_asXbX_localXselectXa_bX_byXnameXX': [(lambda g:g.V().as_('a').out('knows').as_('b').local(__.select('a','b').by('name')))], 
-    'g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXlast_aX': [(lambda g, v1Id=None:g.V(v1Id).as_('a').repeat(__.out().as_('a')).times(2).select(Pop.last,'a'))], 
-    'g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_inV_hasXname_joshX_selectXhereX': [(lambda g, v1Id=None:g.V(v1Id).outE('knows').as_('here').has('weight',float(1.0)).inV().has('name','josh').select('here'))], 
+    'g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXlast_aX': [(lambda g, vid1=None:g.V(vid1).as_('a').repeat(__.out().as_('a')).times(2).select(Pop.last,'a'))], 
+    'g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_inV_hasXname_joshX_selectXhereX': [(lambda g, vid1=None:g.V(vid1).outE('knows').as_('here').has('weight',float(1.0)).inV().has('name','josh').select('here'))], 
     'g_V_asXaX_hasXname_markoX_asXbX_asXcX_selectXa_b_cX_by_byXnameX_byXageX': [(lambda g:g.V().as_('a').has('name','marko').as_('b').as_('c').select('a','b','c').by().by('name').by('age'))], 
     'g_V_outE_weight_groupCount_selectXvaluesX_unfold_groupCount_selectXvaluesX_unfold': [(lambda g:g.V().outE().weight.groupCount().select(Column.values).unfold().groupCount().select(Column.values).unfold())], 
     'g_V_asXaX_groupXmX_by_byXbothE_countX_barrier_selectXmX_selectXselectXaXX': [(lambda g:g.V().as_('a').group('m').by().by(__.bothE().count()).barrier().select('m').select(__.select('a')))], 
@@ -513,8 +513,8 @@ world.gremlins = {
     'g_V_hasXperson_name_markoX_elementMapXnameX_asXaX_unionXidentity_identityX_selectXaX_selectXnameX': [(lambda g:g.V().has('person','name','marko').elementMap('name').as_('a').union(__.identity(),__.identity()).select('a').select('name'))], 
     'g_V_hasXperson_name_markoX_count_asXaX_unionXidentity_identityX_selectXaX': [(lambda g:g.V().has('person','name','marko').count().as_('a').union(__.identity(),__.identity()).select('a'))], 
     'g_V_hasXperson_name_markoX_path_asXaX_unionXidentity_identityX_selectXaX_unfold': [(lambda g:g.V().has('person','name','marko').path().as_('a').union(__.identity(),__.identity()).select('a').unfold())], 
-    'g_EX11X_propertiesXweightX_asXaX_selectXaX_byXkeyX': [(lambda g, e11Id=None:g.E(e11Id).properties('weight').as_('a').select('a').by(T.key))], 
-    'g_EX11X_propertiesXweightX_asXaX_selectXaX_byXvalueX': [(lambda g, e11Id=None:g.E(e11Id).properties('weight').as_('a').select('a').by(T.value))], 
+    'g_EX11X_propertiesXweightX_asXaX_selectXaX_byXkeyX': [(lambda g, eid11=None:g.E(eid11).properties('weight').as_('a').select('a').by(T.key))], 
+    'g_EX11X_propertiesXweightX_asXaX_selectXaX_byXvalueX': [(lambda g, eid11=None:g.E(eid11).properties('weight').as_('a').select('a').by(T.value))], 
     'g_V_shortestPath': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().identity().shortestPath())], 
     'g_V_both_dedup_shortestPath': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().both().dedup().shortestPath())], 
     'g_V_shortestPath_edgesIncluded': [(lambda g:g.withStrategies(*[TraversalStrategy('VertexProgramStrategy',{'graphComputer':'org.apache.tinkerpop.gremlin.process.computer.GraphComputer'}, 'org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy')]).V().identity().shortestPath().with_('~tinkerpop.shortestPath.includeEdges'))], 
@@ -536,8 +536,8 @@ world.gremlins = {
     'g_V_foo_fold_sumXlocalX': [(lambda g:g.V().foo.fold().sum(Scope.local))], 
     'g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX': [(lambda g:g.V().hasLabel('software').group().by('name').by(__.bothE().weight.sum()))], 
     'g_V_localXoutE_foldX_unfold': [(lambda g:g.V().local(__.outE().fold()).unfold())], 
-    'g_V_valueMap_unfold_mapXkeyX': [(lambda g, l=None:g.V().valueMap().unfold().map(l))], 
-    'g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold': [(lambda g, v1Id=None,v6Id=None:g.V(v1Id).repeat(__.both().simplePath()).until(__.hasId(v6Id)).path().by('name').unfold())], 
+    'g_V_valueMap_unfold_mapXkeyX': [(lambda g, l1=None:g.V().valueMap().unfold().map(l1))], 
+    'g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold': [(lambda g, vid6=None,vid1=None:g.V(vid1).repeat(__.both().simplePath()).until(__.hasId(vid6)).path().by('name').unfold())], 
     'g_V_valueMap': [(lambda g:g.V().valueMap())], 
     'g_V_valueMapXtrueX': [(lambda g:g.V().valueMap(True))], 
     'g_V_valueMap_withXtokensX': [(lambda g:g.V().valueMap().with_('~tinkerpop.valueMap.tokens'))], 
@@ -546,47 +546,47 @@ world.gremlins = {
     'g_V_valueMapXname_ageX_withXtokensX': [(lambda g:g.V().valueMap('name','age').with_('~tinkerpop.valueMap.tokens'))], 
     'g_V_valueMapXname_ageX_withXtokens_labelsX_byXunfoldX': [(lambda g:g.V().valueMap('name','age').with_('~tinkerpop.valueMap.tokens',2).by(__.unfold()))], 
     'g_V_valueMapXname_ageX_withXtokens_idsX_byXunfoldX': [(lambda g:g.V().valueMap('name','age').with_('~tinkerpop.valueMap.tokens',1).by(__.unfold()))], 
-    'g_VX1X_outXcreatedX_valueMap': [(lambda g, v1Id=None:g.V(v1Id).out('created').valueMap())], 
+    'g_VX1X_outXcreatedX_valueMap': [(lambda g, vid1=None:g.V(vid1).out('created').valueMap())], 
     'g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX': [(lambda g:g.V().hasLabel('person').filter(__.outE('created')).valueMap(True))], 
     'g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMap_withXtokensX': [(lambda g:g.V().hasLabel('person').filter(__.outE('created')).valueMap().with_('~tinkerpop.valueMap.tokens'))], 
-    'g_VX1X_valueMapXname_locationX_byXunfoldX_by': [(lambda g, v1Id=None:g.V(v1Id).valueMap('name','location').by(__.unfold()).by())], 
+    'g_VX1X_valueMapXname_locationX_byXunfoldX_by': [(lambda g, vid1=None:g.V(vid1).valueMap('name','location').by(__.unfold()).by())], 
     'g_VXlistX1_2_3XX_name': [(lambda g, vx=None:g.V(vx).name)], 
     'g_VXlistXv1_v2_v3XX_name': [(lambda g, vx=None:g.V(vx).name)], 
     'g_V': [(lambda g:g.V())], 
     'g_VXv1X_out': [(lambda g, v1=None:g.V(v1).out())], 
-    'g_VX1X_out': [(lambda g, v1Id=None:g.V(v1Id).out())], 
-    'g_VX2X_in': [(lambda g, v2Id=None:g.V(v2Id).in_())], 
-    'g_VX4X_both': [(lambda g, v4Id=None:g.V(v4Id).both())], 
+    'g_VX1X_out': [(lambda g, vid1=None:g.V(vid1).out())], 
+    'g_VX2X_in': [(lambda g, vid2=None:g.V(vid2).in_())], 
+    'g_VX4X_both': [(lambda g, vid4=None:g.V(vid4).both())], 
     'g_E': [(lambda g:g.E())], 
-    'g_EX11X': [(lambda g, e11Id=None:g.E(e11Id))], 
-    'g_EX11AsStringX': [(lambda g, e11Id=None:g.E(e11Id))], 
+    'g_EX11X': [(lambda g, eid11=None:g.E(eid11))], 
+    'g_EX11AsStringX': [(lambda g, eid11=None:g.E(eid11))], 
     'g_EXe11X': [(lambda g, e11=None:g.E(e11))], 
     'g_EXe7_e11X': [(lambda g, e7=None,e11=None:g.E(e7,e11))], 
-    'g_EXlistXe7_e11XX': [(lambda g, l=None:g.E(l))], 
-    'g_VX1X_outE': [(lambda g, v1Id=None:g.V(v1Id).outE())], 
-    'g_VX2X_outE': [(lambda g, v2Id=None:g.V(v2Id).inE())], 
-    'g_VX4X_bothEXcreatedX': [(lambda g, v4Id=None:g.V(v4Id).bothE('created'))], 
-    'g_VX4X_bothE': [(lambda g, v4Id=None:g.V(v4Id).bothE())], 
-    'g_VX1X_outE_inV': [(lambda g, v1Id=None:g.V(v1Id).both())], 
-    'g_VX2X_inE_outV': [(lambda g, v2Id=None:g.V(v2Id).inE().outV())], 
+    'g_EXlistXe7_e11XX': [(lambda g, xx1=None:g.E(xx1))], 
+    'g_VX1X_outE': [(lambda g, vid1=None:g.V(vid1).outE())], 
+    'g_VX2X_outE': [(lambda g, vid2=None:g.V(vid2).inE())], 
+    'g_VX4X_bothEXcreatedX': [(lambda g, vid4=None:g.V(vid4).bothE('created'))], 
+    'g_VX4X_bothE': [(lambda g, vid4=None:g.V(vid4).bothE())], 
+    'g_VX1X_outE_inV': [(lambda g, vid1=None:g.V(vid1).both())], 
+    'g_VX2X_inE_outV': [(lambda g, vid2=None:g.V(vid2).inE().outV())], 
     'g_V_outE_hasXweight_1X_outV': [(lambda g:g.V().outE().has('weight',float(1.0)).outV())], 
     'g_V_out_outE_inV_inE_inV_both_name': [(lambda g:g.V().out().outE().inV().inE().inV().both().name)], 
-    'g_VX1X_outEXknowsX_bothV_name': [(lambda g, v1Id=None:g.V(v1Id).outE('knows').bothV().name)], 
-    'g_VX1X_outE_otherV': [(lambda g, v1Id=None:g.V(v1Id).outE().otherV())], 
-    'g_VX4X_bothE_otherV': [(lambda g, v4Id=None:g.V(v4Id).bothE().otherV())], 
-    'g_VX4X_bothE_hasXweight_lt_1X_otherV': [(lambda g, v4Id=None:g.V(v4Id).bothE().has('weight',P.lt(float(1.0))).otherV())], 
-    'g_VX2X_inE': [(lambda g, v2Id=None:g.V(v2Id).bothE())], 
-    'get_g_VX1X_outE_otherV': [(lambda g, v1Id=None:g.V(v1Id).outE().otherV())], 
-    'g_VX1X_outXknowsX': [(lambda g, v1Id=None:g.V(v1Id).out('knows'))], 
-    'g_VX1AsStringX_outXknowsX': [(lambda g, v1Id=None:g.V(v1Id).out('knows'))], 
-    'g_VX1X_outXknows_createdX': [(lambda g, v1Id=None:g.V(v1Id).out('knows','created'))], 
-    'g_VX1X_outEXknowsX_inV': [(lambda g, v1Id=None:g.V(v1Id).outE('knows').inV())], 
-    'g_VX1X_outEXknows_createdX_inV': [(lambda g, v1Id=None:g.V(v1Id).outE('knows','created').inV())], 
+    'g_VX1X_outEXknowsX_bothV_name': [(lambda g, vid1=None:g.V(vid1).outE('knows').bothV().name)], 
+    'g_VX1X_outE_otherV': [(lambda g, vid1=None:g.V(vid1).outE().otherV())], 
+    'g_VX4X_bothE_otherV': [(lambda g, vid4=None:g.V(vid4).bothE().otherV())], 
+    'g_VX4X_bothE_hasXweight_lt_1X_otherV': [(lambda g, vid4=None:g.V(vid4).bothE().has('weight',P.lt(float(1.0))).otherV())], 
+    'g_VX2X_inE': [(lambda g, vid2=None:g.V(vid2).bothE())], 
+    'get_g_VX1X_outE_otherV': [(lambda g, vid1=None:g.V(vid1).outE().otherV())], 
+    'g_VX1X_outXknowsX': [(lambda g, vid1=None:g.V(vid1).out('knows'))], 
+    'g_VX1AsStringX_outXknowsX': [(lambda g, vid1=None:g.V(vid1).out('knows'))], 
+    'g_VX1X_outXknows_createdX': [(lambda g, vid1=None:g.V(vid1).out('knows','created'))], 
+    'g_VX1X_outEXknowsX_inV': [(lambda g, vid1=None:g.V(vid1).outE('knows').inV())], 
+    'g_VX1X_outEXknows_createdX_inV': [(lambda g, vid1=None:g.V(vid1).outE('knows','created').inV())], 
     'g_V_out_out': [(lambda g:g.V().out().out())], 
-    'g_VX1X_out_out_out': [(lambda g, v1Id=None:g.V(v1Id).out().out().out())], 
-    'g_VX1X_out_name': [(lambda g, v1Id=None:g.V(v1Id).out().name)], 
-    'g_VX1X_to_XOUT_knowsX': [(lambda g, v1Id=None:g.V(v1Id).to(Direction.OUT,'knows'))], 
-    'g_VX1_2_3_4X_name': [(lambda g, v1Id=None,v2Id=None,v3Id=None,v4Id=None:g.V(v1Id,v2Id,v3Id,v4Id).name)], 
+    'g_VX1X_out_out_out': [(lambda g, vid1=None:g.V(vid1).out().out().out())], 
+    'g_VX1X_out_name': [(lambda g, vid1=None:g.V(vid1).out().name)], 
+    'g_VX1X_to_XOUT_knowsX': [(lambda g, vid1=None:g.V(vid1).to(Direction.OUT,'knows'))], 
+    'g_VX1_2_3_4X_name': [(lambda g, vid4=None,vid3=None,vid2=None,vid1=None:g.V(vid1,vid2,vid3,vid4).name)], 
     'g_V_hasLabelXpersonX_V_hasLabelXsoftwareX_name': [(lambda g:g.V().hasLabel('person').V().hasLabel('software').name)], 
     'g_V_hasLabelXloopsX_bothEXselfX': [(lambda g:g.V().hasLabel('loops').bothE('self'))], 
     'g_V_hasLabelXloopsX_bothXselfX': [(lambda g:g.V().hasLabel('loops').both('self'))], 
@@ -596,7 +596,7 @@ world.gremlins = {
     'g_V_out_aggregateXaX_path': [(lambda g:g.V().out().aggregate('a').path())], 
     'g_V_hasLabelXpersonX_aggregateXxX_byXageX_capXxX_asXyX_selectXyX': [(lambda g:g.V().hasLabel('person').aggregate('x').by('age').cap('x').as_('y').select('y'))], 
     'g_V_aggregateXlocal_a_nameX_out_capXaX': [(lambda g:g.V().aggregate(Scope.local,'a').by('name').out().cap('a'))], 
-    'g_VX1X_aggregateXlocal_aX_byXnameX_out_aggregateXlocal_aX_byXnameX_name_capXaX': [(lambda g, v1Id=None:g.V(v1Id).aggregate(Scope.local,'a').by('name').out().aggregate(Scope.local,'a').by('name').name.cap('a'))], 
+    'g_VX1X_aggregateXlocal_aX_byXnameX_out_aggregateXlocal_aX_byXnameX_name_capXaX': [(lambda g, vid1=None:g.V(vid1).aggregate(Scope.local,'a').by('name').out().aggregate(Scope.local,'a').by('name').name.cap('a'))], 
     'g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX': [(lambda g, initial=None:g.withSideEffect('a',initial).V().both().name.aggregate(Scope.local,'a').cap('a'))], 
     'g_V_aggregateXlocal_aX_byXoutEXcreatedX_countX_out_out_aggregateXlocal_aX_byXinEXcreatedX_weight_sumX': [(lambda g:g.V().aggregate(Scope.local,'a').by(__.outE('created').count()).out().out().aggregate(Scope.local,'a').by(__.inE('created').weight.sum()).cap('a'))], 
     'g_V_group_byXnameX': [(lambda g:g.V().group().by('name'))], 
@@ -618,7 +618,7 @@ world.gremlins = {
     'g_V_outXfollowedByX_group_byXsongTypeX_byXbothE_group_byXlabelX_byXweight_sumXX': [(lambda g:g.V().out('followedBy').group().by('songType').by(__.bothE().group().by(T.label).by(__.weight.sum())))], 
     'g_V_groupXmX_byXnameX_byXinXknowsX_nameX_capXmX': [(lambda g:g.V().group('m').by('name').by(__.in_('knows').name).cap('m'))], 
     'g_V_group_byXlabelX_byXbothE_groupXaX_byXlabelX_byXweight_sumX_weight_sumX': [(lambda g:g.V().group().by(T.label).by(__.bothE().group('a').by(T.label).by(__.weight.sum()).weight.sum()))], 
-    'g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX': [(lambda g, m=None:g.withSideEffect('a',m).V().group('a').by('name').by(__.outE().label().fold()).cap('a'))], 
+    'g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX': [(lambda g, initial=None:g.withSideEffect('a',initial).V().group('a').by('name').by(__.outE().label().fold()).cap('a'))], 
     'g_V_hasLabelXpersonX_asXpX_outXcreatedX_group_byXnameX_byXselectXpX_valuesXageX_sumX': [(lambda g:g.V().hasLabel('person').as_('p').out('created').group().by('name').by(__.select('p').age.sum()))], 
     'g_V_hasLabelXpersonX_asXpX_outXcreatedX_groupXaX_byXnameX_byXselectXpX_valuesXageX_sumX_capXaX': [(lambda g:g.V().hasLabel('person').as_('p').out('created').group('a').by('name').by(__.select('p').age.sum()).cap('a'))], 
     'g_V_group_byXlabelX_byXlabel_countX': [(lambda g:g.V().group().by(__.label()).by(__.label().count()))], 
@@ -636,12 +636,12 @@ world.gremlins = {
     'g_V_outXcreatedX_groupCountXxX_capXxX': [(lambda g:g.V().out('created').groupCount('x').cap('x'))], 
     'g_V_groupCount_byXbothE_countX': [(lambda g:g.V().groupCount().by(__.bothE().count()))], 
     'g_V_both_groupCountXaX_out_capXaX_selectXkeysX_unfold_both_groupCountXaX_capXaX': [(lambda g:g.V().both().groupCount('a').out().cap('a').select(Column.keys).unfold().both().groupCount('a').cap('a'))], 
-    'g_VX1X_out_injectXv2X_name': [(lambda g, v1Id=None,v2=None:g.V(v1Id).out().inject(v2).name)], 
-    'g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path': [(lambda g, v1Id=None,c=None:g.V(v1Id).out().name.inject('daniel').as_('a').map(c).path())], 
-    'g_VX1X_injectXg_VX4XX_out_name': [(lambda g, v1Id=None,v4=None:g.V(v1Id).inject(v4).out().name)], 
+    'g_VX1X_out_injectXv2X_name': [(lambda g, vid1=None,v2=None:g.V(vid1).out().inject(v2).name)], 
+    'g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path': [(lambda g, l1=None,vid1=None:g.V(vid1).out().name.inject('daniel').as_('a').map(l1).path())], 
+    'g_VX1X_injectXg_VX4XX_out_name': [(lambda g, vid1=None,v4=None:g.V(vid1).inject(v4).out().name)], 
     'g_injectXnull_1_3_nullX': [(lambda g:g.inject(None,1,3,None))], 
     'g_injectX10_20_null_20_10_10X_groupCountXxX_dedup_asXyX_projectXa_bX_by_byXselectXxX_selectXselectXyXXX': [(lambda g:g.inject(10,20,None,20,10,10).groupCount('x').dedup().as_('y').project('a','b').by().by(__.select('x').select(__.select('y'))))], 
-    'g_injectXname_marko_age_nullX_selectXname_ageX': [(lambda g, m=None:g.inject(m).select('name','age'))], 
+    'g_injectXname_marko_age_nullX_selectXname_ageX': [(lambda g, initial=None:g.inject(initial).select('name','age'))], 
     'g_io_readXkryoX': [(lambda g:g.io('data/tinkerpop-modern.kryo').read()), (lambda g:g.V()), (lambda g:g.E())], 
     'g_io_read_withXreader_gryoX': [(lambda g:g.io('data/tinkerpop-modern.kryo').with_('~tinkerpop.io.reader','gryo').read()), (lambda g:g.V()), (lambda g:g.E())], 
     'g_io_readXgraphsonX': [(lambda g:g.io('data/tinkerpop-modern.json').read()), (lambda g:g.V()), (lambda g:g.E())], 
@@ -651,12 +651,12 @@ world.gremlins = {
     'g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack': [(lambda g:g.withSack('hello').V().outE().sack(Operator.assign).by(T.label).inV().sack())], 
     'g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum': [(lambda g:g.withSack(float(0.0)).V().outE().sack(Operator.sum).by('weight').inV().sack().sum())], 
     'g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack': [(lambda g:g.withSack(float(0.0)).V().repeat(__.outE().sack(Operator.sum).by('weight').inV()).times(2).sack())], 
-    'g_withBulkXfalseX_withSackX1_sumX_VX1X_localXoutEXknowsX_barrierXnormSackX_inVX_inXknowsX_barrier_sack': [(lambda g, v1Id=None:g.withBulk(False).withSack(float(1.0),Operator.sum).V(v1Id).local(__.outE('knows').barrier(Barrier.normSack).inV()).in_('knows').barrier().sack())], 
+    'g_withBulkXfalseX_withSackX1_sumX_VX1X_localXoutEXknowsX_barrierXnormSackX_inVX_inXknowsX_barrier_sack': [(lambda g, vid1=None:g.withBulk(False).withSack(float(1.0),Operator.sum).V(vid1).local(__.outE('knows').barrier(Barrier.normSack).inV()).in_('knows').barrier().sack())], 
     'g_withBulkXfalseX_withSackX1_sumX_V_out_barrier_sack': [(lambda g:g.withBulk(False).withSack(1,Operator.sum).V().out().barrier().sack())], 
-    'g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack': [(lambda g, v1Id=None:g.withSack(float(1.0),Operator.sum).V(v1Id).local(__.out('knows').barrier(Barrier.normSack)).in_('knows').barrier().sack())], 
+    'g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack': [(lambda g, vid1=None:g.withSack(float(1.0),Operator.sum).V(vid1).local(__.out('knows').barrier(Barrier.normSack)).in_('knows').barrier().sack())], 
     'g_V_hasXageX_groupCountXaX_byXnameX_out_capXaX': [(lambda g:g.V().has('age').groupCount('a').by('name').out().cap('a'))], 
     'g_V_storeXa_nameX_out_capXaX': [(lambda g:g.V().store('a').by('name').out().cap('a'))], 
-    'g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX': [(lambda g, v1Id=None:g.V(v1Id).store('a').by('name').out().store('a').by('name').name.cap('a'))], 
+    'g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX': [(lambda g, vid1=None:g.V(vid1).store('a').by('name').out().store('a').by('name').name.cap('a'))], 
     'g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX': [(lambda g, initial=None:g.withSideEffect('a',initial).V().both().name.store('a').cap('a'))], 
     'g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX': [(lambda g:g.V().store('a').by(__.outE('created').count()).out().out().store('a').by(__.inE('created').weight.sum()).cap('a'))], 
 }
diff --git a/gremlin-test/features/branch/Branch.feature b/gremlin-test/features/branch/Branch.feature
index a161ba7..c8a5b42 100644
--- a/gremlin-test/features/branch/Branch.feature
+++ b/gremlin-test/features/branch/Branch.feature
@@ -42,15 +42,15 @@ Feature: Step - branch()
 
   Scenario: g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX
     Given the modern graph
-    And using the parameter one defined as "d[1].l"
-    And using the parameter zero defined as "d[0].l"
+    And using the parameter xx1 defined as "d[1].l"
+    And using the parameter xx2 defined as "d[0].l"
     And the traversal of
       """
       g.V().
         branch(__.label().is("person").count()).
-          option(one, __.values("age")).
-          option(zero, __.values("lang")).
-          option(zero, __.values("name"))
+          option(xx1, __.values("age")).
+          option(xx2, __.values("lang")).
+          option(xx2, __.values("name"))
       """
     When iterated to list
     Then the result should be unordered
@@ -66,15 +66,15 @@ Feature: Step - branch()
 
   Scenario: g_V_branchXlabel_isXpersonX_countX_optionX1__ageX_optionX0__langX_optionX0__nameX_optionXany__labelX
     Given the modern graph
-    And using the parameter one defined as "d[1].l"
-    And using the parameter zero defined as "d[0].l"
+    And using the parameter xx1 defined as "d[1].l"
+    And using the parameter xx2 defined as "d[0].l"
     And the traversal of
       """
       g.V().
         branch(__.label().is("person").count()).
-          option(one, __.values("age")).
-          option(zero, __.values("lang")).
-          option(zero, __.values("name")).
+          option(xx1, __.values("age")).
+          option(xx2, __.values("lang")).
+          option(xx2, __.values("name")).
           option(Pick.any, __.label())
       """
     When iterated to list
diff --git a/gremlin-test/features/branch/Choose.feature b/gremlin-test/features/branch/Choose.feature
index 99ff4c4..fdd98c4 100644
--- a/gremlin-test/features/branch/Choose.feature
+++ b/gremlin-test/features/branch/Choose.feature
@@ -19,13 +19,13 @@ Feature: Step - choose()
 
   Scenario: g_V_chooseXout_countX_optionX2L_nameX_optionX3L_ageX
     Given the modern graph
-    And using the parameter two defined as "d[2].l"
-    And using the parameter three defined as "d[3].l"
+    And using the parameter xx1 defined as "d[2].l"
+    And using the parameter xx2 defined as "d[3].l"
     And the traversal of
       """
       g.V().choose(__.out().count()).
-        option(two, __.values("name")).
-        option(three, __.values("age"))
+        option(xx1, __.values("name")).
+        option(xx2, __.values("age"))
       """
     When iterated to list
     Then the result should be unordered
@@ -35,10 +35,10 @@ Feature: Step - choose()
 
   Scenario: g_V_chooseXlabel_eqXpersonX__outXknowsX__inXcreatedXX_name
     Given the modern graph
-    And using the parameter l1 defined as "c[it.label() == 'person']"
+    And using the parameter pred1 defined as "c[it.label() == 'person']"
     And the traversal of
       """
-      g.V().choose(l1, __.out("knows"), __.in("created")).values("name")
+      g.V().choose(pred1, __.out("knows"), __.in("created")).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -127,11 +127,11 @@ Feature: Step - choose()
 
   Scenario: g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount
     Given the modern graph
-    And using the parameter d27 defined as "d[27].l"
+    And using the parameter xx1 defined as "d[27].l"
     And the traversal of
       """
       g.V().hasLabel("person").choose(__.values("age")).
-          option(d27, __.constant("young")).
+          option(xx1, __.constant("young")).
           option(Pick.none, __.constant("old")).
         groupCount()
       """
@@ -142,11 +142,11 @@ Feature: Step - choose()
 
   Scenario: g_injectX1X_chooseXisX1X__constantX10Xfold__foldX
     Given the empty graph
-    And using the parameter d10 defined as "d[10].i"
-    And using the parameter d1 defined as "d[1].i"
+    And using the parameter xx1 defined as "d[10].i"
+    And using the parameter xx2 defined as "d[1].i"
     And the traversal of
       """
-      g.inject(d1).choose(__.is(d1), __.constant(d10).fold(), __.fold())
+      g.inject(xx2).choose(__.is(xx2), __.constant(xx1).fold(), __.fold())
       """
     When iterated to list
     Then the result should be unordered
@@ -155,12 +155,12 @@ Feature: Step - choose()
 
   Scenario: g_injectX2X_chooseXisX1X__constantX10Xfold__foldX
     Given the empty graph
-    And using the parameter d10 defined as "d[10].i"
-    And using the parameter d1 defined as "d[1].i"
-    And using the parameter d2 defined as "d[2].i"
+    And using the parameter xx1 defined as "d[10].i"
+    And using the parameter xx2 defined as "d[1].i"
+    And using the parameter xx3 defined as "d[2].i"
     And the traversal of
       """
-      g.inject(d2).choose(__.is(d1), __.constant(d10).fold(), __.fold())
+      g.inject(xx3).choose(__.is(xx2), __.constant(xx1).fold(), __.fold())
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/branch/Local.feature b/gremlin-test/features/branch/Local.feature
index a4b57a9..509c622 100644
--- a/gremlin-test/features/branch/Local.feature
+++ b/gremlin-test/features/branch/Local.feature
@@ -67,10 +67,10 @@ Feature: Step - local()
 
   Scenario: g_VX1X_localXoutEXknowsX_limitX1XX_inV_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).local(__.outE("knows").limit(1)).inV().values("name")
+      g.V(vid1).local(__.outE("knows").limit(1)).inV().values("name")
       """
     When iterated to list
     Then the result should be of
@@ -97,10 +97,10 @@ Feature: Step - local()
 
   Scenario: g_VX4X_localXbothEX1_createdX_limitX1XX
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).local(__.bothE("created").limit(1))
+      g.V(vid4).local(__.bothE("created").limit(1))
       """
     When iterated to list
     Then the result should be of
@@ -111,10 +111,10 @@ Feature: Step - local()
 
   Scenario: g_VX4X_localXbothEXknows_createdX_limitX1XX
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).local(__.bothE("knows", "created").limit(1))
+      g.V(vid4).local(__.bothE("knows", "created").limit(1))
       """
     When iterated to list
     Then the result should be of
@@ -126,10 +126,10 @@ Feature: Step - local()
 
   Scenario: g_VX4X_localXbothE_limitX1XX_otherV_name
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).local(__.bothE().limit(1)).otherV().values("name")
+      g.V(vid4).local(__.bothE().limit(1)).otherV().values("name")
       """
     When iterated to list
     Then the result should be of
@@ -141,10 +141,10 @@ Feature: Step - local()
 
   Scenario: g_VX4X_localXbothE_limitX2XX_otherV_name
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).local(__.bothE().limit(2)).otherV().values("name")
+      g.V(vid4).local(__.bothE().limit(2)).otherV().values("name")
       """
     When iterated to list
     Then the result should be of
diff --git a/gremlin-test/features/branch/Optional.feature b/gremlin-test/features/branch/Optional.feature
index b69fe13..67fc137 100644
--- a/gremlin-test/features/branch/Optional.feature
+++ b/gremlin-test/features/branch/Optional.feature
@@ -19,10 +19,10 @@ Feature: Step - choose()
 
   Scenario: g_VX2X_optionalXoutXknowsXX
     Given the modern graph
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v2Id).optional(__.out("knows"))
+      g.V(vid2).optional(__.out("knows"))
       """
     When iterated to list
     Then the result should be unordered
@@ -31,10 +31,10 @@ Feature: Step - choose()
 
   Scenario: g_VX2X_optionalXinXknowsXX
     Given the modern graph
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v2Id).optional(__.in("knows"))
+      g.V(vid2).optional(__.in("knows"))
       """
     When iterated to list
     Then the result should be unordered
@@ -97,10 +97,10 @@ Feature: Step - choose()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).optional(__.addV("dog")).label()
+      g.V(vid1).optional(__.addV("dog")).label()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/branch/Repeat.feature b/gremlin-test/features/branch/Repeat.feature
index 17b1d81..223b0ef 100644
--- a/gremlin-test/features/branch/Repeat.feature
+++ b/gremlin-test/features/branch/Repeat.feature
@@ -76,10 +76,10 @@ Feature: Step - repeat()
 
   Scenario: g_VX1X_timesX2X_repeatXoutX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).times(2).repeat(__.out()).values("name")
+      g.V(vid1).times(2).repeat(__.out()).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -137,10 +137,10 @@ Feature: Step - repeat()
 
   Scenario: g_VX1X_emitXhasXlabel_personXX_repeatXoutX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).emit(__.has(T.label, "person")).repeat(__.out()).values("name")
+      g.V(vid1).emit(__.has(T.label, "person")).repeat(__.out()).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -162,10 +162,10 @@ Feature: Step - repeat()
 
   Scenario: g_VX1X_repeatXgroupCountXmX_byXloopsX_outX_timesX3X_capXmX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.groupCount("m").by(__.loops()).out()).times(3).cap("m")
+      g.V(vid1).repeat(__.groupCount("m").by(__.loops()).out()).times(3).cap("m")
       """
     When iterated to list
     Then the result should be unordered
@@ -185,10 +185,10 @@ Feature: Step - repeat()
 
   Scenario: g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.out()).until(__.outE().count().is(0)).values("name")
+      g.V(vid1).repeat(__.out()).until(__.outE().count().is(0)).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -200,10 +200,10 @@ Feature: Step - repeat()
 
   Scenario: g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX
     Given the modern graph
-    And using the parameter l defined as "c[t -> t.get().value('name').equals('lop') || t.loops() > 1]"
+    And using the parameter pred1 defined as "c[t -> t.get().value('name').equals('lop') || t.loops() > 1]"
     And the traversal of
       """
-      g.V().repeat(__.both()).until(l).groupCount().by("name")
+      g.V().repeat(__.both()).until(pred1).groupCount().by("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -303,10 +303,10 @@ Scenario: g_V_emit_repeatXa_outXknows_filterXloops_isX0XX_lang
 
 Scenario: g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsXX_emit_loopsXisX1Xdedup_values
     Given the modern graph
-    And using the parameter v3Id defined as "v[lop].id"
+    And using the parameter vid3 defined as "v[lop].id"
     And the traversal of
       """
-      g.V(v3Id).repeat(__.both("created")).until(__.loops().is(40)).emit(__.repeat(__.in("knows")).emit(__.loops().is(1))).dedup().values("name")
+      g.V(vid3).repeat(__.both("created")).until(__.loops().is(40)).emit(__.repeat(__.in("knows")).emit(__.loops().is(1))).dedup().values("name")
       """
     When iterated to list
       Then the result should be unordered
@@ -317,10 +317,10 @@ Scenario: g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsX
 
 Scenario: g_VX1X_repeatXrepeatXunionXout_uses_out_traversesXX_whereXloops_isX0X_timesX1X_timeX2X_name
     Given the crew graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.repeat(__.union(__.out("uses"), __.out("traverses")).where(__.loops().is(0))).times(1)).times(2).values("name")
+      g.V(vid1).repeat(__.repeat(__.union(__.out("uses"), __.out("traverses")).where(__.loops().is(0))).times(1)).times(2).values("name")
       """
     When iterated to list
       Then the result should be unordered
@@ -341,10 +341,10 @@ Scenario: g_V_repeatXa_outXknows_repeatXb_outXcreatedX_filterXloops_isX0XX_emit_
 
 Scenario: g_VX6X_repeatXa_bothXcreatedX_simplePathX_emitXrepeatXb_bothXknowsXX_untilXloopsXbX_asXb_whereXloopsXaX_asXbX_hasXname_vadasXX_dedup_name
   Given the modern graph
-  And using the parameter v6Id defined as "v[peter].id"
+  And using the parameter vid6 defined as "v[peter].id"
   And the traversal of
     """
-    g.V(v6Id).repeat("a", __.both("created").simplePath()).emit(__.repeat("b", __.both("knows")).until(__.loops("b").as("b").where(__.loops("a").as("b"))).has("name", "vadas")).dedup().values("name")
+    g.V(vid6).repeat("a", __.both("created").simplePath()).emit(__.repeat("b", __.both("knows")).until(__.loops("b").as("b").where(__.loops("a").as("b"))).has("name", "vadas")).dedup().values("name")
     """
   When iterated to list
   Then the result should be unordered
diff --git a/gremlin-test/features/branch/Union.feature b/gremlin-test/features/branch/Union.feature
index 8f5297e..24d7e4d 100644
--- a/gremlin-test/features/branch/Union.feature
+++ b/gremlin-test/features/branch/Union.feature
@@ -41,10 +41,10 @@ Feature: Step - union()
 
   Scenario: g_VX1X_unionXrepeatXoutX_timesX2X__outX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).union(__.repeat(__.out()).times(2), __.out()).values("name")
+      g.V(vid1).union(__.repeat(__.out()).times(2), __.out()).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -108,11 +108,11 @@ Feature: Step - union()
 
   Scenario: g_VX1_2X_unionXoutE_count__inE_count__outE_weight_sumX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v1Id, v2Id).union(__.outE().count(), __.inE().count(), __.outE().values("weight").sum())
+      g.V(vid1, vid2).union(__.outE().count(), __.inE().count(), __.outE().values("weight").sum())
       """
     When iterated to list
     Then the result should be unordered
@@ -123,11 +123,11 @@ Feature: Step - union()
 
   Scenario: g_VX1_2X_localXunionXoutE_count__inE_count__outE_weight_sumXX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v1Id, v2Id).local(__.union(__.outE().count(), __.inE().count(), __.outE().values("weight").sum()))
+      g.V(vid1, vid2).local(__.union(__.outE().count(), __.inE().count(), __.outE().values("weight").sum()))
       """
     When iterated to list
     Then the result should be unordered
@@ -140,11 +140,11 @@ Feature: Step - union()
 
   Scenario: g_VX1_2X_localXunionXcountXX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v1Id, v2Id).local(__.union(__.count()))
+      g.V(vid1, vid2).local(__.union(__.count()))
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/filter/CyclicPath.feature b/gremlin-test/features/filter/CyclicPath.feature
index bfbb3a9..b49bf3b 100644
--- a/gremlin-test/features/filter/CyclicPath.feature
+++ b/gremlin-test/features/filter/CyclicPath.feature
@@ -19,10 +19,10 @@ Feature: Step - cyclicPath()
 
   Scenario: g_VX1X_outXcreatedX_inXcreatedX_cyclicPath
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("created").in("created").cyclicPath()
+      g.V(vid1).out("created").in("created").cyclicPath()
       """
     When iterated to list
     Then the result should be unordered
@@ -31,10 +31,10 @@ Feature: Step - cyclicPath()
 
   Scenario: g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("created").in("created").cyclicPath().path()
+      g.V(vid1).out("created").in("created").cyclicPath().path()
       """
     When iterated to list
     Then the result should be unordered
@@ -43,10 +43,10 @@ Feature: Step - cyclicPath()
 
   Scenario: g_VX1X_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_cyclicPath_fromXaX_toXbX_path
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("created").as("b").in("created").as("c").cyclicPath().from("a").to("b").path()
+      g.V(vid1).as("a").out("created").as("b").in("created").as("c").cyclicPath().from("a").to("b").path()
       """
     When iterated to list
     Then the result should be empty
diff --git a/gremlin-test/features/filter/Dedup.feature b/gremlin-test/features/filter/Dedup.feature
index f533a9c..2f46f43 100644
--- a/gremlin-test/features/filter/Dedup.feature
+++ b/gremlin-test/features/filter/Dedup.feature
@@ -75,10 +75,10 @@ Feature: Step - dedup()
 
   Scenario: g_V_both_name_order_byXa_bX_dedup_value
     Given the modern graph
-    And using the parameter l defined as "c[a,b -> a.value().compareTo(b.value())]"
+    And using the parameter c1 defined as "c[a,b -> a.value().compareTo(b.value())]"
     And the traversal of
       """
-      g.V().both().properties("name").order().by(l).dedup().value()
+      g.V().both().properties("name").order().by(c1).dedup().value()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/filter/Filter.feature b/gremlin-test/features/filter/Filter.feature
index b552578..c85bb22 100644
--- a/gremlin-test/features/filter/Filter.feature
+++ b/gremlin-test/features/filter/Filter.feature
@@ -19,20 +19,20 @@ Feature: Step - filter()
 
   Scenario: g_V_filterXfalseX
     Given the modern graph
-    And using the parameter l1 defined as "c[false]"
+    And using the parameter pred1 defined as "c[false]"
     And the traversal of
       """
-      g.V().filter(l1)
+      g.V().filter(pred1)
       """
     When iterated to list
     Then the result should be empty
 
   Scenario: g_V_filterXtrueX
     Given the modern graph
-    And using the parameter l1 defined as "c[true]"
+    And using the parameter pred1 defined as "c[true]"
     And the traversal of
       """
-      g.V().filter(l1)
+      g.V().filter(pred1)
       """
     When iterated to list
     Then the result should be unordered
@@ -46,10 +46,10 @@ Feature: Step - filter()
 
   Scenario: g_V_filterXlang_eq_javaX
     Given the modern graph
-    And using the parameter l1 defined as "c[it.get().property('lang').orElse('none').equals('java')]"
+    And using the parameter pred1 defined as "c[it.get().property('lang').orElse('none').equals('java')]"
     And the traversal of
       """
-      g.V().filter(l1)
+      g.V().filter(pred1)
       """
     When iterated to list
     Then the result should be unordered
@@ -59,22 +59,22 @@ Feature: Step - filter()
 
   Scenario: g_VX1X_filterXage_gt_30X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter l1 defined as "c[it.get().property('age').orElse(0) > 30]"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter pred1 defined as "c[it.get().property('age').orElse(0) > 30]"
     And the traversal of
       """
-      g.V(v1Id).filter(l1)
+      g.V(vid1).filter(pred1)
       """
     When iterated to list
     Then the result should be empty
 
   Scenario: g_VX2X_filterXage_gt_30X
     Given the modern graph
-    And using the parameter v2Id defined as "v[josh].id"
-    And using the parameter l1 defined as "c[it.get().property('age').orElse(0) > 30]"
+    And using the parameter vid2 defined as "v[josh].id"
+    And using the parameter pred1 defined as "c[it.get().property('age').orElse(0) > 30]"
     And the traversal of
       """
-      g.V(v2Id).filter(l1)
+      g.V(vid2).filter(pred1)
       """
     When iterated to list
     Then the result should be unordered
@@ -83,11 +83,11 @@ Feature: Step - filter()
 
   Scenario: g_VX1X_out_filterXage_gt_30X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter l1 defined as "c[it.get().property('age').orElse(0) > 30]"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter pred1 defined as "c[it.get().property('age').orElse(0) > 30]"
     And the traversal of
       """
-      g.V(v1Id).out().filter(l1)
+      g.V(vid1).out().filter(pred1)
       """
     When iterated to list
     Then the result should be unordered
@@ -96,10 +96,10 @@ Feature: Step - filter()
 
   Scenario: g_V_filterXname_startsWith_m_OR_name_startsWith_pX
     Given the modern graph
-    And using the parameter l1 defined as "c[{name = it.get().value('name'); name.startsWith('m') || name.startsWith('p')}]"
+    And using the parameter pred1 defined as "c[{name = it.get().value('name'); name.startsWith('m') || name.startsWith('p')}]"
     And the traversal of
       """
-      g.V().filter(l1)
+      g.V().filter(pred1)
       """
     When iterated to list
     Then the result should be unordered
@@ -109,20 +109,20 @@ Feature: Step - filter()
 
   Scenario: g_E_filterXfalseX
     Given the modern graph
-    And using the parameter l1 defined as "c[false]"
+    And using the parameter pred1 defined as "c[false]"
     And the traversal of
       """
-      g.E().filter(l1)
+      g.E().filter(pred1)
       """
     When iterated to list
     Then the result should be empty
 
   Scenario: g_E_filterXtrueX
     Given the modern graph
-    And using the parameter l1 defined as "c[true]"
+    And using the parameter pred1 defined as "c[true]"
     And the traversal of
       """
-      g.E().filter(l1)
+      g.E().filter(pred1)
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/filter/Has.feature b/gremlin-test/features/filter/Has.feature
index 2dae1c0..5a5ec4c 100644
--- a/gremlin-test/features/filter/Has.feature
+++ b/gremlin-test/features/filter/Has.feature
@@ -31,10 +31,10 @@ Feature: Step - has()
 
   Scenario: g_VX1X_hasXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).has("name")
+      g.V(vid1).has("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -43,20 +43,20 @@ Feature: Step - has()
 
   Scenario: g_VX1X_hasXcircumferenceX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).has("circumference")
+      g.V(vid1).has("circumference")
       """
     When iterated to list
     Then the result should be empty
 
   Scenario: g_VX1X_hasXname_markoX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).has("name", "marko")
+      g.V(vid1).has("name", "marko")
       """
     When iterated to list
     Then the result should be unordered
@@ -65,10 +65,10 @@ Feature: Step - has()
 
   Scenario: g_VX2X_hasXname_markoX
     Given the modern graph
-    And using the parameter v1Id defined as "v[vadas].id"
+    And using the parameter vid1 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v1Id).has("name", "marko")
+      g.V(vid1).has("name", "marko")
       """
     When iterated to list
     Then the result should be empty
@@ -131,20 +131,20 @@ Feature: Step - has()
 
   Scenario: g_VX1X_hasXage_gt_30X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).has("age", P.gt(30))
+      g.V(vid1).has("age", P.gt(30))
       """
     When iterated to list
     Then the result should be empty
 
   Scenario: g_VX4X_hasXage_gt_30X
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).has("age", P.gt(30))
+      g.V(vid4).has("age", P.gt(30))
       """
     When iterated to list
     Then the result should be unordered
@@ -175,20 +175,20 @@ Feature: Step - has()
 
   Scenario: g_VX1X_out_hasXid_lt_3X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter ltXv3IdX of P.lt("v[lop].id")
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter xx1 of P.lt("v[lop].id")
     And the traversal of
       """
-      g.V(v1Id).out().has(T.id, ltXv3IdX)
+      g.V(vid1).out().has(T.id, xx1)
       """
 
   Scenario: g_VX1AsStringX_out_hasXid_2AsStringX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].sid"
-    And using the parameter v2Id defined as "v[vadas].sid"
+    And using the parameter vid1 defined as "v[marko].sid"
+    And using the parameter vid2 defined as "v[vadas].sid"
     And the traversal of
       """
-      g.V(v1Id).out().hasId(v2Id)
+      g.V(vid1).out().hasId(vid2)
       """
     When iterated to list
     Then the result should be unordered
@@ -209,11 +209,11 @@ Feature: Step - has()
 
   Scenario: g_VX1X_out_hasIdX2X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v1Id).out().hasId(v2Id)
+      g.V(vid1).out().hasId(vid2)
       """
     When iterated to list
     Then the result should be unordered
@@ -222,12 +222,12 @@ Feature: Step - has()
 
   Scenario: g_VX1X_out_hasXid_2_3X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
-    And using the parameter v3Id defined as "v[lop].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
+    And using the parameter vid3 defined as "v[lop].id"
     And the traversal of
       """
-      g.V(v1Id).out().hasId(v2Id, v3Id)
+      g.V(vid1).out().hasId(vid2, vid3)
       """
     When iterated to list
     Then the result should be unordered
@@ -237,12 +237,12 @@ Feature: Step - has()
 
   Scenario: g_VX1X_out_hasXid_2AsString_3AsStringX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].sid"
-    And using the parameter v2Id defined as "v[vadas].sid"
-    And using the parameter v3Id defined as "v[lop].sid"
+    And using the parameter vid1 defined as "v[marko].sid"
+    And using the parameter vid2 defined as "v[vadas].sid"
+    And using the parameter vid3 defined as "v[lop].sid"
     And the traversal of
       """
-      g.V(v1Id).out().hasId(v2Id, v3Id)
+      g.V(vid1).out().hasId(vid2, vid3)
       """
     When iterated to list
     Then the result should be unordered
@@ -261,10 +261,10 @@ Feature: Step - has()
 
   Scenario: g_EX7X_hasXlabelXknowsX
     Given the modern graph
-    And using the parameter e7Id defined as "e[marko-knows->vadas].id"
+    And using the parameter eid7 defined as "e[marko-knows->vadas].id"
     And the traversal of
       """
-      g.E(e7Id).hasLabel("knows")
+      g.E(eid7).hasLabel("knows")
       """
     When iterated to list
     Then the result should be unordered
@@ -331,10 +331,10 @@ Feature: Step - has()
 
   Scenario: g_VX1X_outE_hasXweight_inside_0_06X_inV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
     """
-    g.V(v1Id).outE().has("weight", P.inside(0.0, 0.6)).inV()
+    g.V(vid1).outE().has("weight", P.inside(0.0, 0.6)).inV()
     """
     When iterated to list
     Then the result should be unordered
@@ -344,11 +344,11 @@ Feature: Step - has()
 
   Scenario: g_EX11X_outV_outE_hasXid_10X
     Given the modern graph
-    And using the parameter e11Id defined as "e[josh-created->lop].id"
-    And using the parameter e10Id defined as "e[josh-created->ripple].id"
+    And using the parameter eid11 defined as "e[josh-created->lop].id"
+    And using the parameter eid10 defined as "e[josh-created->ripple].id"
     And the traversal of
     """
-    g.E(e11Id).outV().outE().has(T.id, e10Id)
+    g.E(eid11).outV().outE().has(T.id, eid10)
     """
     When iterated to list
     Then the result should be unordered
@@ -357,11 +357,11 @@ Feature: Step - has()
 
   Scenario: g_EX11X_outV_outE_hasXid_10AsStringX
     Given the modern graph
-    And using the parameter e11Id defined as "e[josh-created->lop].sid"
-    And using the parameter e10Id defined as "e[josh-created->ripple].sid"
+    And using the parameter eid11 defined as "e[josh-created->lop].sid"
+    And using the parameter eid10 defined as "e[josh-created->ripple].sid"
     And the traversal of
     """
-    g.E(e11Id).outV().outE().has(T.id, e10Id)
+    g.E(eid11).outV().outE().has(T.id, eid10)
     """
     When iterated to list
     Then the result should be unordered
@@ -396,10 +396,10 @@ Feature: Step - has()
 
   Scenario: g_V_in_hasIdXneqX1XX
     Given the modern graph
-    And using the parameter neqXv1IdX of P.neq("v[marko].id")
+    And using the parameter xx1 of P.neq("v[marko].id")
     And the traversal of
     """
-    g.V().in().hasId(neqXv1IdX)
+    g.V().in().hasId(xx1)
     """
     When iterated to list
     Then the result should be unordered
@@ -517,11 +517,11 @@ Feature: Step - has()
 
   Scenario: g_V_hasIdX1X_hasIdX2X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
     """
-    g.V().hasId(v1Id).hasId(v2Id)
+    g.V().hasId(vid1).hasId(vid2)
     """
     When iterated to list
     Then the result should be empty
@@ -537,10 +537,10 @@ Feature: Step - has()
 
   Scenario: g_V_hasIdXemptyX_count
     Given the modern graph
-    And using the parameter l defined as "l[]"
+    And using the parameter xx1 defined as "l[]"
     And the traversal of
     """
-    g.V().hasId(l).count()
+    g.V().hasId(xx1).count()
     """
     When iterated to list
     Then the result should be unordered
@@ -549,10 +549,10 @@ Feature: Step - has()
 
   Scenario: g_V_hasIdXwithinXemptyXX_count
     Given the modern graph
-    And using the parameter withinXlX of P.within("l[]")
+    And using the parameter xx1 of P.within("l[]")
     And the traversal of
     """
-    g.V().hasId(withinXlX).count()
+    g.V().hasId(xx1).count()
     """
     When iterated to list
     Then the result should be unordered
@@ -561,10 +561,10 @@ Feature: Step - has()
 
   Scenario: g_V_hasIdXwithoutXemptyXX_count
     Given the modern graph
-    And using the parameter withoutXlX of P.without("l[]")
+    And using the parameter xx1 of P.without("l[]")
     And the traversal of
     """
-    g.V().hasId(withoutXlX).count()
+    g.V().hasId(xx1).count()
     """
     When iterated to list
     Then the result should be unordered
@@ -573,10 +573,10 @@ Feature: Step - has()
 
   Scenario: g_V_notXhasIdXwithinXemptyXXX_count
     Given the modern graph
-    And using the parameter withinXlX of P.within("l[]")
+    And using the parameter xx1 of P.within("l[]")
     And the traversal of
     """
-    g.V().not(__.hasId(withinXlX)).count()
+    g.V().not(__.hasId(xx1)).count()
     """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/filter/Range.feature b/gremlin-test/features/filter/Range.feature
index fd3c63f..62f62a5 100644
--- a/gremlin-test/features/filter/Range.feature
+++ b/gremlin-test/features/filter/Range.feature
@@ -19,10 +19,10 @@ Feature: Step - range()
 
   Scenario: g_VX1X_out_limitX2X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out().limit(2)
+      g.V(vid1).out().limit(2)
       """
     When iterated to list
     Then the result should be of
@@ -49,10 +49,10 @@ Feature: Step - range()
 
   Scenario: g_VX1X_outXknowsX_outEXcreatedX_rangeX0_1X_inV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("knows").outE("created").range(0, 1).inV()
+      g.V(vid1).out("knows").outE("created").range(0, 1).inV()
       """
     When iterated to list
     Then the result should be of
@@ -63,10 +63,10 @@ Feature: Step - range()
 
   Scenario: g_VX1X_outXknowsX_outXcreatedX_rangeX0_1X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("knows").out("created").range(0, 1)
+      g.V(vid1).out("knows").out("created").range(0, 1)
       """
     When iterated to list
     Then the result should be of
@@ -77,10 +77,10 @@ Feature: Step - range()
 
   Scenario: g_VX1X_outXcreatedX_inXcreatedX_rangeX1_3X
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("created").in("created").range(1, 3)
+      g.V(vid1).out("created").in("created").range(1, 3)
       """
     When iterated to list
     Then the result should be of
@@ -92,10 +92,10 @@ Feature: Step - range()
 
   Scenario: g_VX1X_outXcreatedX_inEXcreatedX_rangeX1_3X_outV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("created").inE("created").range(1, 3).outV()
+      g.V(vid1).out("created").inE("created").range(1, 3).outV()
       """
     When iterated to list
     Then the result should be of
diff --git a/gremlin-test/features/filter/SimplePath.feature b/gremlin-test/features/filter/SimplePath.feature
index ef0a316..97a1b9b 100644
--- a/gremlin-test/features/filter/SimplePath.feature
+++ b/gremlin-test/features/filter/SimplePath.feature
@@ -19,10 +19,10 @@ Feature: Step - simplePath()
 
   Scenario: g_VX1X_outXcreatedX_inXcreatedX_simplePath
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("created").in("created").simplePath()
+      g.V(vid1).out("created").in("created").simplePath()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/filter/Where.feature b/gremlin-test/features/filter/Where.feature
index 912edf2..c21231d 100644
--- a/gremlin-test/features/filter/Where.feature
+++ b/gremlin-test/features/filter/Where.feature
@@ -91,11 +91,11 @@ Feature: Step - where()
 
   Scenario: g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX
     Given the modern graph
-    And using the parameter l defined as "l[josh,peter]"
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter initial defined as "l[josh,peter]"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.withSideEffect("a", l).V(v1Id).out("created").in("created").values("name").where(P.within("a"))
+      g.withSideEffect("a", initial).V(vid1).out("created").in("created").values("name").where(P.within("a"))
       """
     When iterated to list
     Then the result should be unordered
@@ -105,10 +105,10 @@ Feature: Step - where()
 
   Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("created").in("created").as("b").where("a", P.neq("b")).values("name")
+      g.V(vid1).as("a").out("created").in("created").as("b").where("a", P.neq("b")).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -118,10 +118,10 @@ Feature: Step - where()
 
   Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("created").in("created").as("b").where(__.as("b").out("created").has("name", "ripple")).values("age", "name")
+      g.V(vid1).as("a").out("created").in("created").as("b").where(__.as("b").out("created").has("name", "ripple")).values("age", "name")
       """
     When iterated to list
     Then the result should be unordered
@@ -131,10 +131,10 @@ Feature: Step - where()
 
   Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("created").in("created").where(P.eq("a")).values("name")
+      g.V(vid1).as("a").out("created").in("created").where(P.eq("a")).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -143,10 +143,10 @@ Feature: Step - where()
 
   Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("created").in("created").where(P.neq("a")).values("name")
+      g.V(vid1).as("a").out("created").in("created").where(P.neq("a")).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -156,10 +156,10 @@ Feature: Step - where()
 
   Scenario: g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out().aggregate("x").out().where(P.not(P.within("x")))
+      g.V(vid1).out().aggregate("x").out().where(P.not(P.within("x")))
       """
     When iterated to list
     Then the result should be unordered
@@ -168,11 +168,11 @@ Feature: Step - where()
 
   Scenario: g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And using the parameter v2 defined as "v[vadas]"
     And the traversal of
       """
-      g.withSideEffect("a", v2).V(v1Id).out().where(P.neq("a"))
+      g.withSideEffect("a", v2).V(vid1).out().where(P.neq("a"))
       """
     When iterated to list
     Then the result should be unordered
@@ -182,10 +182,10 @@ Feature: Step - where()
 
   Scenario: g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.bothE("created").where(P.without("e")).aggregate("e").otherV()).emit().path()
+      g.V(vid1).repeat(__.bothE("created").where(P.without("e")).aggregate("e").otherV()).emit().path()
       """
     When iterated to list
     Then the result should be unordered
@@ -314,10 +314,10 @@ Feature: Step - where()
 
   Scenario: g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out().has("age").where(P.gt("a")).by("age").values("name")
+      g.V(vid1).as("a").out().has("age").where(P.gt("a")).by("age").values("name")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/AddEdge.feature b/gremlin-test/features/map/AddEdge.feature
index 8e03ac3..4795cbf 100644
--- a/gremlin-test/features/map/AddEdge.feature
+++ b/gremlin-test/features/map/AddEdge.feature
@@ -34,15 +34,15 @@ Feature: Step - addE()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("created").addE("createdBy").to("a")
+      g.V(vid1).as("a").out("created").addE("createdBy").to("a")
       """
     When iterated to list
     Then the result should have a count of 1
     And the graph should return 7 for count of "g.E()"
-    And the graph should return 1 for count of "g.V(v1Id).inE()"
+    And the graph should return 1 for count of "g.V(vid1).inE()"
 
   Scenario: g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X
     Given the empty graph
@@ -61,16 +61,16 @@ Feature: Step - addE()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("created").addE("createdBy").to("a").property("weight", 2.0)
+      g.V(vid1).as("a").out("created").addE("createdBy").to("a").property("weight", 2.0)
       """
     When iterated to list
     Then the result should have a count of 1
     And the graph should return 7 for count of "g.E()"
-    And the graph should return 4 for count of "g.V(v1Id).bothE()"
-    And the graph should return 1 for count of "g.V(v1Id).inE().has(\"weight\", 2.0)"
+    And the graph should return 4 for count of "g.V(vid1).bothE()"
+    And the graph should return 1 for count of "g.V(vid1).inE().has(\"weight\", 2.0)"
 
   Scenario: g_V_outE_propertyXweight_nullX
     Given the empty graph
@@ -114,12 +114,12 @@ Feature: Step - addE()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
-    And using the parameter v3Id defined as "v[lop].id"
-    And using the parameter v4Id defined as "v[josh].id"
-    And using the parameter v5Id defined as "v[ripple].id"
-    And using the parameter v6Id defined as "v[peter].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
+    And using the parameter vid3 defined as "v[lop].id"
+    And using the parameter vid4 defined as "v[josh].id"
+    And using the parameter vid5 defined as "v[ripple].id"
+    And using the parameter vid6 defined as "v[peter].id"
     And the traversal of
       """
       g.V().aggregate("x").as("a").select("x").unfold().addE("existsWith").to("a").property("time", "now")
@@ -127,30 +127,30 @@ Feature: Step - addE()
     When iterated to list
     Then the result should have a count of 36
     And the graph should return 42 for count of "g.E()"
-    And the graph should return 15 for count of "g.V(v1Id).bothE()"
-    And the graph should return 6 for count of "g.V(v1Id).inE(\"existsWith\")"
-    And the graph should return 6 for count of "g.V(v1Id).outE(\"existsWith\")"
-    And the graph should return 12 for count of "g.V(v1Id).bothE(\"existsWith\").has(\"time\",\"now\")"
-    And the graph should return 13 for count of "g.V(v2Id).bothE()"
-    And the graph should return 6 for count of "g.V(v2Id).inE(\"existsWith\")"
-    And the graph should return 6 for count of "g.V(v2Id).outE(\"existsWith\")"
-    And the graph should return 12 for count of "g.V(v2Id).bothE(\"existsWith\").has(\"time\",\"now\")"
-    And the graph should return 15 for count of "g.V(v3Id).bothE()"
-    And the graph should return 6 for count of "g.V(v3Id).inE(\"existsWith\")"
-    And the graph should return 6 for count of "g.V(v3Id).outE(\"existsWith\")"
-    And the graph should return 12 for count of "g.V(v3Id).bothE(\"existsWith\").has(\"time\",\"now\")"
-    And the graph should return 15 for count of "g.V(v4Id).bothE()"
-    And the graph should return 6 for count of "g.V(v4Id).inE(\"existsWith\")"
-    And the graph should return 6 for count of "g.V(v4Id).outE(\"existsWith\")"
-    And the graph should return 12 for count of "g.V(v4Id).bothE(\"existsWith\").has(\"time\",\"now\")"
-    And the graph should return 13 for count of "g.V(v5Id).bothE()"
-    And the graph should return 6 for count of "g.V(v5Id).inE(\"existsWith\")"
-    And the graph should return 6 for count of "g.V(v5Id).outE(\"existsWith\")"
-    And the graph should return 12 for count of "g.V(v5Id).bothE(\"existsWith\").has(\"time\",\"now\")"
-    And the graph should return 13 for count of "g.V(v6Id).bothE()"
-    And the graph should return 6 for count of "g.V(v6Id).inE(\"existsWith\")"
-    And the graph should return 6 for count of "g.V(v6Id).outE(\"existsWith\")"
-    And the graph should return 12 for count of "g.V(v6Id).bothE(\"existsWith\").has(\"time\",\"now\")"
+    And the graph should return 15 for count of "g.V(vid1).bothE()"
+    And the graph should return 6 for count of "g.V(vid1).inE(\"existsWith\")"
+    And the graph should return 6 for count of "g.V(vid1).outE(\"existsWith\")"
+    And the graph should return 12 for count of "g.V(vid1).bothE(\"existsWith\").has(\"time\",\"now\")"
+    And the graph should return 13 for count of "g.V(vid2).bothE()"
+    And the graph should return 6 for count of "g.V(vid2).inE(\"existsWith\")"
+    And the graph should return 6 for count of "g.V(vid2).outE(\"existsWith\")"
+    And the graph should return 12 for count of "g.V(vid2).bothE(\"existsWith\").has(\"time\",\"now\")"
+    And the graph should return 15 for count of "g.V(vid3).bothE()"
+    And the graph should return 6 for count of "g.V(vid3).inE(\"existsWith\")"
+    And the graph should return 6 for count of "g.V(vid3).outE(\"existsWith\")"
+    And the graph should return 12 for count of "g.V(vid3).bothE(\"existsWith\").has(\"time\",\"now\")"
+    And the graph should return 15 for count of "g.V(vid4).bothE()"
+    And the graph should return 6 for count of "g.V(vid4).inE(\"existsWith\")"
+    And the graph should return 6 for count of "g.V(vid4).outE(\"existsWith\")"
+    And the graph should return 12 for count of "g.V(vid4).bothE(\"existsWith\").has(\"time\",\"now\")"
+    And the graph should return 13 for count of "g.V(vid5).bothE()"
+    And the graph should return 6 for count of "g.V(vid5).inE(\"existsWith\")"
+    And the graph should return 6 for count of "g.V(vid5).outE(\"existsWith\")"
+    And the graph should return 12 for count of "g.V(vid5).bothE(\"existsWith\").has(\"time\",\"now\")"
+    And the graph should return 13 for count of "g.V(vid6).bothE()"
+    And the graph should return 6 for count of "g.V(vid6).inE(\"existsWith\")"
+    And the graph should return 6 for count of "g.V(vid6).outE(\"existsWith\")"
+    And the graph should return 12 for count of "g.V(vid6).bothE(\"existsWith\").has(\"time\",\"now\")"
 
   Scenario: g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X
     Given the empty graph
@@ -169,10 +169,10 @@ Feature: Step - addE()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
-    And using the parameter v4Id defined as "v[josh].id"
-    And using the parameter v6Id defined as "v[peter].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
+    And using the parameter vid4 defined as "v[josh].id"
+    And using the parameter vid6 defined as "v[peter].id"
     And the traversal of
       """
       g.V().as("a").out("created").in("created").where(P.neq("a")).as("b").addE("codeveloper").from("a").to("b").property("year", 2009)
@@ -180,19 +180,19 @@ Feature: Step - addE()
     When iterated to list
     Then the result should have a count of 6
     And the graph should return 12 for count of "g.E()"
-    And the graph should return 7 for count of "g.V(v1Id).bothE()"
-    And the graph should return 2 for count of "g.V(v1Id).inE(\"codeveloper\")"
-    And the graph should return 2 for count of "g.V(v1Id).outE(\"codeveloper\")"
-    And the graph should return 4 for count of "g.V(v1Id).bothE(\"codeveloper\").has(\"year\",2009)"
-    And the graph should return 1 for count of "g.V(v2Id).bothE()"
-    And the graph should return 7 for count of "g.V(v4Id).bothE()"
-    And the graph should return 2 for count of "g.V(v4Id).inE(\"codeveloper\")"
-    And the graph should return 2 for count of "g.V(v4Id).outE(\"codeveloper\")"
-    And the graph should return 4 for count of "g.V(v4Id).bothE(\"codeveloper\").has(\"year\",2009)"
-    And the graph should return 5 for count of "g.V(v6Id).bothE()"
-    And the graph should return 2 for count of "g.V(v6Id).inE(\"codeveloper\")"
-    And the graph should return 2 for count of "g.V(v6Id).outE(\"codeveloper\")"
-    And the graph should return 4 for count of "g.V(v6Id).bothE(\"codeveloper\").has(\"year\",2009)"
+    And the graph should return 7 for count of "g.V(vid1).bothE()"
+    And the graph should return 2 for count of "g.V(vid1).inE(\"codeveloper\")"
+    And the graph should return 2 for count of "g.V(vid1).outE(\"codeveloper\")"
+    And the graph should return 4 for count of "g.V(vid1).bothE(\"codeveloper\").has(\"year\",2009)"
+    And the graph should return 1 for count of "g.V(vid2).bothE()"
+    And the graph should return 7 for count of "g.V(vid4).bothE()"
+    And the graph should return 2 for count of "g.V(vid4).inE(\"codeveloper\")"
+    And the graph should return 2 for count of "g.V(vid4).outE(\"codeveloper\")"
+    And the graph should return 4 for count of "g.V(vid4).bothE(\"codeveloper\").has(\"year\",2009)"
+    And the graph should return 5 for count of "g.V(vid6).bothE()"
+    And the graph should return 2 for count of "g.V(vid6).inE(\"codeveloper\")"
+    And the graph should return 2 for count of "g.V(vid6).outE(\"codeveloper\")"
+    And the graph should return 4 for count of "g.V(vid6).bothE(\"codeveloper\").has(\"year\",2009)"
 
   Scenario: g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX
     Given the empty graph
@@ -211,12 +211,12 @@ Feature: Step - addE()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
-    And using the parameter v3Id defined as "v[lop].id"
-    And using the parameter v4Id defined as "v[josh].id"
-    And using the parameter v5Id defined as "v[ripple].id"
-    And using the parameter v6Id defined as "v[peter].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
+    And using the parameter vid3 defined as "v[lop].id"
+    And using the parameter vid4 defined as "v[josh].id"
+    And using the parameter vid5 defined as "v[ripple].id"
+    And using the parameter vid6 defined as "v[peter].id"
     And the traversal of
       """
       g.V().as("a").in("created").addE("createdBy").from("a").property("year", 2009).property("acl", "public")
@@ -224,27 +224,27 @@ Feature: Step - addE()
     When iterated to list
     Then the result should have a count of 4
     And the graph should return 10 for count of "g.E()"
-    And the graph should return 4 for count of "g.V(v1Id).bothE()"
-    And the graph should return 1 for count of "g.V(v1Id).inE(\"createdBy\")"
-    And the graph should return 0 for count of "g.V(v1Id).outE(\"createdBy\")"
-    And the graph should return 1 for count of "g.V(v1Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
-    And the graph should return 1 for count of "g.V(v2Id).bothE()"
-    And the graph should return 6 for count of "g.V(v3Id).bothE()"
-    And the graph should return 0 for count of "g.V(v3Id).inE(\"createdBy\")"
-    And the graph should return 3 for count of "g.V(v3Id).outE(\"createdBy\")"
-    And the graph should return 3 for count of "g.V(v3Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
-    And the graph should return 5 for count of "g.V(v4Id).bothE()"
-    And the graph should return 2 for count of "g.V(v4Id).inE(\"createdBy\")"
-    And the graph should return 0 for count of "g.V(v4Id).outE(\"createdBy\")"
-    And the graph should return 2 for count of "g.V(v4Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
-    And the graph should return 2 for count of "g.V(v5Id).bothE()"
-    And the graph should return 0 for count of "g.V(v5Id).inE(\"createdBy\")"
-    And the graph should return 1 for count of "g.V(v5Id).outE(\"createdBy\")"
-    And the graph should return 1 for count of "g.V(v5Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
-    And the graph should return 2 for count of "g.V(v6Id).bothE()"
-    And the graph should return 1 for count of "g.V(v6Id).inE(\"createdBy\")"
-    And the graph should return 0 for count of "g.V(v6Id).outE(\"createdBy\")"
-    And the graph should return 1 for count of "g.V(v6Id).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+    And the graph should return 4 for count of "g.V(vid1).bothE()"
+    And the graph should return 1 for count of "g.V(vid1).inE(\"createdBy\")"
+    And the graph should return 0 for count of "g.V(vid1).outE(\"createdBy\")"
+    And the graph should return 1 for count of "g.V(vid1).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+    And the graph should return 1 for count of "g.V(vid2).bothE()"
+    And the graph should return 6 for count of "g.V(vid3).bothE()"
+    And the graph should return 0 for count of "g.V(vid3).inE(\"createdBy\")"
+    And the graph should return 3 for count of "g.V(vid3).outE(\"createdBy\")"
+    And the graph should return 3 for count of "g.V(vid3).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+    And the graph should return 5 for count of "g.V(vid4).bothE()"
+    And the graph should return 2 for count of "g.V(vid4).inE(\"createdBy\")"
+    And the graph should return 0 for count of "g.V(vid4).outE(\"createdBy\")"
+    And the graph should return 2 for count of "g.V(vid4).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+    And the graph should return 2 for count of "g.V(vid5).bothE()"
+    And the graph should return 0 for count of "g.V(vid5).inE(\"createdBy\")"
+    And the graph should return 1 for count of "g.V(vid5).outE(\"createdBy\")"
+    And the graph should return 1 for count of "g.V(vid5).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
+    And the graph should return 2 for count of "g.V(vid6).bothE()"
+    And the graph should return 1 for count of "g.V(vid6).inE(\"createdBy\")"
+    And the graph should return 0 for count of "g.V(vid6).outE(\"createdBy\")"
+    And the graph should return 1 for count of "g.V(vid6).bothE(\"createdBy\").has(\"year\",2009).has(\"acl\", \"public\")"
 
   Scenario: g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X
     Given the empty graph
@@ -375,10 +375,10 @@ Feature: Step - addE()
       """
     And using the parameter v1 defined as "v[marko]"
     And using the parameter v6 defined as "v[peter]"
-    And using the parameter dotOne defined as "d[0.1].d"
+    And using the parameter xx1 defined as "d[0.1].d"
     And the traversal of
       """
-      g.addE("knows").from(v1).to(v6).property("weight", dotOne)
+      g.addE("knows").from(v1).to(v6).property("weight", xx1)
       """
     When iterated to list
     Then the result should have a count of 1
@@ -405,10 +405,10 @@ Feature: Step - addE()
       """
     And using the parameter v1 defined as "v[marko]"
     And using the parameter v6 defined as "v[peter]"
-    And using the parameter dotOne defined as "d[0.1].d"
+    And using the parameter xx1 defined as "d[0.1].d"
     And the traversal of
       """
-      g.V(v1).addE("knows").to(v6).property("weight", dotOne)
+      g.V(v1).addE("knows").to(v6).property("weight", xx1)
       """
     When iterated to list
     Then the result should have a count of 1
diff --git a/gremlin-test/features/map/AddVertex.feature b/gremlin-test/features/map/AddVertex.feature
index 943b303..01fc14a 100644
--- a/gremlin-test/features/map/AddVertex.feature
+++ b/gremlin-test/features/map/AddVertex.feature
@@ -34,10 +34,10 @@ Feature: Step - addV()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").addV("animal").property("age", __.select("a").by("age")).property("name", "puppy")
+      g.V(vid1).as("a").addV("animal").property("age", __.select("a").by("age")).property("name", "puppy")
       """
     When iterated to list
     Then the result should have a count of 1
diff --git a/gremlin-test/features/map/Coalesce.feature b/gremlin-test/features/map/Coalesce.feature
index 3870ee2..06688c0 100644
--- a/gremlin-test/features/map/Coalesce.feature
+++ b/gremlin-test/features/map/Coalesce.feature
@@ -28,10 +28,10 @@ Feature: Step - coalesce()
 
   Scenario: g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).coalesce(__.out("knows"), __.out("created")).values("name")
+      g.V(vid1).coalesce(__.out("knows"), __.out("created")).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -41,10 +41,10 @@ Feature: Step - coalesce()
 
   Scenario: g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).coalesce(__.out("created"), __.out("knows")).values("name")
+      g.V(vid1).coalesce(__.out("created"), __.out("knows")).values("name")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/ElementMap.feature b/gremlin-test/features/map/ElementMap.feature
index 95de688..45720ac 100644
--- a/gremlin-test/features/map/ElementMap.feature
+++ b/gremlin-test/features/map/ElementMap.feature
@@ -51,10 +51,10 @@ Feature: Step - elementMap()
 
   Scenario: g_EX11X_elementMap
     Given the modern graph
-    And using the parameter e11Id defined as "e[josh-created->lop].id"
+    And using the parameter eid11 defined as "e[josh-created->lop].id"
     And the traversal of
     """
-      g.E(e11Id).elementMap()
+      g.E(eid11).elementMap()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Graph.feature b/gremlin-test/features/map/Graph.feature
index ff337ff..d3e0fff 100644
--- a/gremlin-test/features/map/Graph.feature
+++ b/gremlin-test/features/map/Graph.feature
@@ -19,10 +19,10 @@ Feature: Step - V()
 
   Scenario: g_VX1X_V_valuesXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).V().values("name")
+      g.V(vid1).V().values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -86,23 +86,23 @@ Feature: Step - V()
         addE("created").from("josh").to("lop").property(T.id, 11).property("weight", 0.4).
         addE("created").from("peter").to("lop").property(T.id, 12).property("weight", 0.2)
       """
-    And using the parameter software defined as "l[v[lop],v[ripple]]"
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
-    And using the parameter v3Id defined as "v[lop].id"
-    And using the parameter v4Id defined as "v[josh].id"
-    And using the parameter v5Id defined as "v[ripple].id"
-    And using the parameter v6Id defined as "v[peter].id"
+    And using the parameter xx1 defined as "l[v[lop],v[ripple]]"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
+    And using the parameter vid3 defined as "v[lop].id"
+    And using the parameter vid4 defined as "v[josh].id"
+    And using the parameter vid5 defined as "v[ripple].id"
+    And using the parameter vid6 defined as "v[peter].id"
     And the traversal of
       """
-      g.V().hasLabel("person").as("p").V(software).addE("uses").from("p")
+      g.V().hasLabel("person").as("p").V(xx1).addE("uses").from("p")
       """
     When iterated to list
     Then the result should have a count of 8
     And the graph should return 8 for count of "g.E().hasLabel(\"uses\")"
-    And the graph should return 2 for count of "g.V(v1Id).outE(\"uses\")"
-    And the graph should return 2 for count of "g.V(v2Id).outE(\"uses\")"
-    And the graph should return 4 for count of "g.V(v3Id).inE(\"uses\")"
-    And the graph should return 2 for count of "g.V(v4Id).outE(\"uses\")"
-    And the graph should return 4 for count of "g.V(v5Id).inE(\"uses\")"
-    And the graph should return 2 for count of "g.V(v6Id).outE(\"uses\")"
+    And the graph should return 2 for count of "g.V(vid1).outE(\"uses\")"
+    And the graph should return 2 for count of "g.V(vid2).outE(\"uses\")"
+    And the graph should return 4 for count of "g.V(vid3).inE(\"uses\")"
+    And the graph should return 2 for count of "g.V(vid4).outE(\"uses\")"
+    And the graph should return 4 for count of "g.V(vid5).inE(\"uses\")"
+    And the graph should return 2 for count of "g.V(vid6).outE(\"uses\")"
diff --git a/gremlin-test/features/map/Loops.feature b/gremlin-test/features/map/Loops.feature
index b8a70ae..d1c0b9e 100644
--- a/gremlin-test/features/map/Loops.feature
+++ b/gremlin-test/features/map/Loops.feature
@@ -19,10 +19,10 @@ Feature: Step - loops()
 
   Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(3)).has("name", "peter").path().by("name")
+      g.V(vid1).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(3)).has("name", "peter").path().by("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -32,10 +32,10 @@ Feature: Step - loops()
 
   Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(2)).has("name", "peter").path().by("name")
+      g.V(vid1).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(2)).has("name", "peter").path().by("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -44,10 +44,10 @@ Feature: Step - loops()
 
   Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name")
+      g.V(vid1).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Map.feature b/gremlin-test/features/map/Map.feature
index 5f404ea..b9b8168 100644
--- a/gremlin-test/features/map/Map.feature
+++ b/gremlin-test/features/map/Map.feature
@@ -19,11 +19,11 @@ Feature: Step - map()
 
   Scenario: g_VX1X_mapXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter l defined as "c[it.get().value('name')]"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter l1 defined as "c[it.get().value('name')]"
     And the traversal of
       """
-      g.V(v1Id).map(l)
+      g.V(vid1).map(l1)
       """
     When iterated to list
     Then the result should be unordered
@@ -32,11 +32,11 @@ Feature: Step - map()
 
   Scenario: g_VX1X_outE_label_mapXlengthX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter l defined as "c[it.get().length()]"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter l1 defined as "c[it.get().length()]"
     And the traversal of
       """
-      g.V(v1Id).outE().label().map(l)
+      g.V(vid1).outE().label().map(l1)
       """
     When iterated to list
     Then the result should be unordered
@@ -47,12 +47,12 @@ Feature: Step - map()
 
   Scenario: g_VX1X_out_mapXnameX_mapXlengthX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And using the parameter l1 defined as "c[it.get().value('name')]"
     And using the parameter l2 defined as "c[it.get().toString().length()]"
     And the traversal of
       """
-      g.V(v1Id).out().map(l1).map(l2)
+      g.V(vid1).out().map(l1).map(l2)
       """
     When iterated to list
     Then the result should be unordered
@@ -63,10 +63,10 @@ Feature: Step - map()
 
   Scenario: g_withPath_V_asXaX_out_mapXa_nameX
     Given the modern graph
-    And using the parameter l defined as "c[it.path('a').value('name')]"
+    And using the parameter l1 defined as "c[it.path('a').value('name')]"
     And the traversal of
       """
-      g.withPath().V().as("a").out().map(l)
+      g.withPath().V().as("a").out().map(l1)
       """
     When iterated to list
     Then the result should be unordered
@@ -80,10 +80,10 @@ Feature: Step - map()
 
   Scenario: g_withPath_V_asXaX_out_out_mapXa_name_it_nameX
     Given the modern graph
-    And using the parameter l defined as "c[it.path('a').value('name')  + it.get().value('name')]"
+    And using the parameter l1 defined as "c[it.path('a').value('name')  + it.get().value('name')]"
     And the traversal of
       """
-      g.withPath().V().as("a").out().out().map(l)
+      g.withPath().V().as("a").out().out().map(l1)
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Math.feature b/gremlin-test/features/map/Math.feature
index f6eaafa..a7d825f 100644
--- a/gremlin-test/features/map/Math.feature
+++ b/gremlin-test/features/map/Math.feature
@@ -61,10 +61,10 @@ Feature: Step - math()
 
   Scenario: g_withSideEffectXx_100X_V_age_mathX__plus_xX
     Given the modern graph
-    And using the parameter x defined as "d[100].i"
+    And using the parameter initial defined as "d[100].i"
     And the traversal of
       """
-      g.withSideEffect("x", x).V().values("age").math("_ + x")
+      g.withSideEffect("x", initial).V().values("age").math("_ + x")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Min.feature b/gremlin-test/features/map/Min.feature
index d15eff7..ad866ec 100644
--- a/gremlin-test/features/map/Min.feature
+++ b/gremlin-test/features/map/Min.feature
@@ -103,10 +103,10 @@ Feature: Step - min()
 
   Scenario: g_V_foo_injectX9999999999X_min
     Given the modern graph
-    And using the parameter injectVal defined as "d[9999999999].l"
+    And using the parameter xx1 defined as "d[9999999999].l"
     And the traversal of
       """
-      g.V().values("foo").inject(injectVal).min()
+      g.V().values("foo").inject(xx1).min()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Order.feature b/gremlin-test/features/map/Order.feature
index 3a118f6..e208e85 100644
--- a/gremlin-test/features/map/Order.feature
+++ b/gremlin-test/features/map/Order.feature
@@ -35,11 +35,11 @@ Feature: Step - order()
 
   Scenario: g_V_name_order_byXa1_b1X_byXb2_a2X
     Given the modern graph
-    And using the parameter l1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]"
-    And using the parameter l2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]"
+    And using the parameter c1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]"
+    And using the parameter c2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]"
     And the traversal of
       """
-      g.V().values("name").order().by(l1).by(l2)
+      g.V().values("name").order().by(c1).by(c2)
       """
     When iterated to list
     Then the result should be ordered
@@ -101,11 +101,11 @@ Feature: Step - order()
 
   Scenario: g_V_order_byXname_a1_b1X_byXname_b2_a2X_name
     Given the modern graph
-    And using the parameter l1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]"
-    And using the parameter l2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]"
+    And using the parameter c1 defined as "c[a, b -> a.substring(1, 2).compareTo(b.substring(1, 2))]"
+    And using the parameter c2 defined as "c[a, b -> b.substring(2, 3).compareTo(a.substring(2, 3))]"
     And the traversal of
       """
-      g.V().order().by("name", l1).by("name", l2).values("name")
+      g.V().order().by("name", c1).by("name", c2).values("name")
       """
     When iterated to list
     Then the result should be ordered
@@ -338,10 +338,10 @@ Feature: Step - order()
 
   Scenario: g_VX1X_elementMap_orderXlocalX_byXkeys_descXunfold
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).elementMap().order(Scope.local).by(Column.keys, Order.desc).unfold()
+      g.V(vid1).elementMap().order(Scope.local).by(Column.keys, Order.desc).unfold()
       """
     When iterated to list
     Then the result should be ordered
diff --git a/gremlin-test/features/map/Path.feature b/gremlin-test/features/map/Path.feature
index 0bb7573..822358e 100644
--- a/gremlin-test/features/map/Path.feature
+++ b/gremlin-test/features/map/Path.feature
@@ -19,10 +19,10 @@ Feature: Step - path()
 
   Scenario: g_VX1X_name_path
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).values("name").path()
+      g.V(vid1).values("name").path()
       """
     When iterated to list
     Then the result should be unordered
@@ -31,10 +31,10 @@ Feature: Step - path()
 
   Scenario: g_VX1X_out_path_byXageX_byXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out().path().by("age").by("name")
+      g.V(vid1).out().path().by("age").by("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -80,10 +80,10 @@ Feature: Step - path()
 
   Scenario: g_VX1X_outEXcreatedX_inV_inE_outV_path
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE("created").inV().inE().outV().path()
+      g.V(vid1).outE("created").inV().inE().outV().path()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Select.feature b/gremlin-test/features/map/Select.feature
index de5d41b..c0002f2 100644
--- a/gremlin-test/features/map/Select.feature
+++ b/gremlin-test/features/map/Select.feature
@@ -19,10 +19,10 @@ Feature: Step - select()
 
   Scenario: get_g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("knows").as("b").select("a", "b")
+      g.V(vid1).as("a").out("knows").as("b").select("a", "b")
       """
     When iterated to list
     Then the result should be unordered
@@ -32,10 +32,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX_byXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("knows").as("b").
+      g.V(vid1).as("a").out("knows").as("b").
         select("a", "b").by("name")
       """
     When iterated to list
@@ -46,10 +46,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_asXaX_outXknowsX_asXbX_selectXaX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("knows").as("b").select("a")
+      g.V(vid1).as("a").out("knows").as("b").select("a")
       """
     When iterated to list
     Then the result should be unordered
@@ -59,10 +59,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_asXaX_outXknowsX_asXbX_selectXaX_byXnameX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("knows").as("b").
+      g.V(vid1).as("a").out("knows").as("b").
         select("a").by("name")
       """
     When iterated to list
@@ -185,10 +185,10 @@ Feature: Step - select()
 
   Scenario: g_V_chooseXoutE_count_isX0X__asXaX__asXbXX_chooseXselectXaX__selectXaX__selectXbXX
     Given the modern graph
-    And using the parameter zero defined as "d[0].l"
+    And using the parameter xx1 defined as "d[0].l"
     And the traversal of
       """
-      g.V().choose(__.outE().count().is(zero),
+      g.V().choose(__.outE().count().is(xx1),
                    __.as("a"),
                    __.as("b")).
             choose(__.select("a"),
@@ -207,10 +207,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_groupXaX_byXconstantXaXX_byXnameX_selectXaX_selectXaX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).group("a").
+      g.V(vid1).group("a").
                   by(__.constant("a")).
                   by(__.values("name")).
         barrier().
@@ -223,10 +223,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_asXhereX_out_selectXhereX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("here").out().select("here")
+      g.V(vid1).as("here").out().select("here")
       """
     When iterated to list
     Then the result should be unordered
@@ -237,10 +237,10 @@ Feature: Step - select()
 
   Scenario: g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).as("here").out().select("here")
+      g.V(vid4).as("here").out().select("here")
       """
     When iterated to list
     Then the result should be unordered
@@ -250,10 +250,10 @@ Feature: Step - select()
 
   Scenario: g_VX4X_out_asXhereX_hasXlang_javaX_selectXhereX_name
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).out().as("here").
+      g.V(vid4).out().as("here").
         has("lang", "java").
         select("here").values("name")
       """
@@ -265,10 +265,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_outE_asXhereX_inV_hasXname_vadasX_selectXhereX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE().as("here").
+      g.V(vid1).outE().as("here").
         inV().has("name", "vadas").
         select("here")
       """
@@ -279,10 +279,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_outEXknowsX_hasXweight_1X_asXhereX_inV_hasXname_joshX_selectXhereX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE("knows").
+      g.V(vid1).outE("knows").
         has("weight", 1.0).as("here").
         inV().has("name", "josh").
         select("here")
@@ -294,10 +294,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_asXfakeX_inV_hasXname_joshX_selectXhereX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE("knows").as("here").
+      g.V(vid1).outE("knows").as("here").
         has("weight", 1.0).as("fake").
         inV().has("name", "josh").
         select("here")
@@ -438,10 +438,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").out("knows").as("b").select("a", "b")
+      g.V(vid1).as("a").out("knows").as("b").select("a", "b")
       """
     When iterated to list
     Then the result should be unordered
@@ -462,10 +462,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXfirst_aX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").repeat(__.out().as("a")).times(2).select(Pop.first, "a")
+      g.V(vid1).as("a").repeat(__.out().as("a")).times(2).select(Pop.first, "a")
       """
     When iterated to list
     Then the result should be unordered
@@ -487,10 +487,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_asXaX_repeatXout_asXaXX_timesX2X_selectXlast_aX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).as("a").repeat(__.out().as("a")).times(2).select(Pop.last, "a")
+      g.V(vid1).as("a").repeat(__.out().as("a")).times(2).select(Pop.last, "a")
       """
     When iterated to list
     Then the result should be unordered
@@ -500,10 +500,10 @@ Feature: Step - select()
 
   Scenario: g_VX1X_outEXknowsX_asXhereX_hasXweight_1X_inV_hasXname_joshX_selectXhereX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE("knows").as("here").has("weight", 1.0).inV().has("name", "josh").select("here")
+      g.V(vid1).outE("knows").as("here").has("weight", 1.0).inV().has("name", "josh").select("here")
       """
     When iterated to list
     Then the result should be unordered
@@ -794,10 +794,10 @@ Feature: Step - select()
       | v[marko] |
   Scenario: g_EX11X_propertiesXweightX_asXaX_selectXaX_byXkeyX
     Given the modern graph
-    And using the parameter e11Id defined as "e[josh-created->lop].id"
+    And using the parameter eid11 defined as "e[josh-created->lop].id"
     And the traversal of
       """
-      g.E(e11Id).properties("weight").as("a").select("a").by(T.key)
+      g.E(eid11).properties("weight").as("a").select("a").by(T.key)
       """
     When iterated to list
     Then the result should be unordered
@@ -806,10 +806,10 @@ Feature: Step - select()
 
   Scenario: g_EX11X_propertiesXweightX_asXaX_selectXaX_byXvalueX
     Given the modern graph
-    And using the parameter e11Id defined as "e[josh-created->lop].id"
+    And using the parameter eid11 defined as "e[josh-created->lop].id"
     And the traversal of
       """
-      g.E(e11Id).properties("weight").as("a").select("a").by(T.value)
+      g.E(eid11).properties("weight").as("a").select("a").by(T.value)
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Unfold.feature b/gremlin-test/features/map/Unfold.feature
index 3a20d08..5360471 100644
--- a/gremlin-test/features/map/Unfold.feature
+++ b/gremlin-test/features/map/Unfold.feature
@@ -35,10 +35,10 @@ Feature: Step - unfold()
 
   Scenario: g_V_valueMap_unfold_mapXkeyX
     Given the modern graph
-    And using the parameter l defined as "c[it.get().getKey()]"
+    And using the parameter l1 defined as "c[it.get().getKey()]"
     And the traversal of
       """
-      g.V().valueMap().unfold().map(l)
+      g.V().valueMap().unfold().map(l1)
       """
     When iterated to list
     Then the result should be unordered
@@ -58,11 +58,11 @@ Feature: Step - unfold()
 
   Scenario: g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v6Id defined as "v[peter].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid6 defined as "v[peter].id"
     And the traversal of
       """
-      g.V(v1Id).repeat(__.both().simplePath()).until(__.hasId(v6Id)).path().by("name").unfold()
+      g.V(vid1).repeat(__.both().simplePath()).until(__.hasId(vid6)).path().by("name").unfold()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/ValueMap.feature b/gremlin-test/features/map/ValueMap.feature
index b7f99f8..9818a96 100644
--- a/gremlin-test/features/map/ValueMap.feature
+++ b/gremlin-test/features/map/ValueMap.feature
@@ -147,10 +147,10 @@ Feature: Step - valueMap()
 
   Scenario: g_VX1X_outXcreatedX_valueMap
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("created").valueMap()
+      g.V(vid1).out("created").valueMap()
       """
     When iterated to list
     Then the result should be unordered
@@ -185,10 +185,10 @@ Feature: Step - valueMap()
 
   Scenario: g_VX1X_valueMapXname_locationX_byXunfoldX_by
     Given the crew graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).valueMap("name", "location").by(__.unfold()).by()
+      g.V(vid1).valueMap("name", "location").by(__.unfold()).by()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/map/Vertex.feature b/gremlin-test/features/map/Vertex.feature
index ea32638..8970992 100644
--- a/gremlin-test/features/map/Vertex.feature
+++ b/gremlin-test/features/map/Vertex.feature
@@ -77,10 +77,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_out
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out()
+      g.V(vid1).out()
       """
     When iterated to list
     Then the result should be unordered
@@ -91,10 +91,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX2X_in
     Given the modern graph
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v2Id).in()
+      g.V(vid2).in()
       """
     When iterated to list
     Then the result should be unordered
@@ -103,10 +103,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX4X_both
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).both()
+      g.V(vid4).both()
       """
     When iterated to list
     Then the result should be unordered
@@ -133,10 +133,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_EX11X
     Given the modern graph
-    And using the parameter e11Id defined as "e[josh-created->lop].id"
+    And using the parameter eid11 defined as "e[josh-created->lop].id"
     And the traversal of
     """
-      g.E(e11Id)
+      g.E(eid11)
       """
     When iterated to list
     Then the result should be unordered
@@ -145,10 +145,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_EX11AsStringX
     Given the modern graph
-    And using the parameter e11Id defined as "e[josh-created->lop].sid"
+    And using the parameter eid11 defined as "e[josh-created->lop].sid"
     And the traversal of
     """
-      g.E(e11Id)
+      g.E(eid11)
       """
     When iterated to list
     Then the result should be unordered
@@ -183,10 +183,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_EXlistXe7_e11XX
     Given the modern graph
-    And using the parameter l defined as "l[e[marko-knows->vadas],e[josh-created->lop]]"
+    And using the parameter xx1 defined as "l[e[marko-knows->vadas],e[josh-created->lop]]"
     And the traversal of
     """
-      g.E(l)
+      g.E(xx1)
       """
     When iterated to list
     Then the result should be unordered
@@ -196,10 +196,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outE
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
     """
-      g.V(v1Id).outE()
+      g.V(vid1).outE()
       """
     When iterated to list
     Then the result should be unordered
@@ -210,10 +210,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX2X_outE
     Given the modern graph
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
     """
-      g.V(v2Id).inE()
+      g.V(vid2).inE()
       """
     When iterated to list
     Then the result should be unordered
@@ -222,10 +222,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX4X_bothEXcreatedX
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
     """
-      g.V(v4Id).bothE("created")
+      g.V(vid4).bothE("created")
       """
     When iterated to list
     Then the result should be unordered
@@ -235,10 +235,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX4X_bothE
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
     """
-      g.V(v4Id).bothE()
+      g.V(vid4).bothE()
       """
     When iterated to list
     Then the result should be unordered
@@ -249,10 +249,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outE_inV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).both()
+      g.V(vid1).both()
       """
     When iterated to list
     Then the result should be unordered
@@ -263,10 +263,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX2X_inE_outV
     Given the modern graph
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
       """
-      g.V(v2Id).inE().outV()
+      g.V(vid2).inE().outV()
       """
     When iterated to list
     Then the result should be unordered
@@ -307,10 +307,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outEXknowsX_bothV_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE("knows").bothV().values("name")
+      g.V(vid1).outE("knows").bothV().values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -322,10 +322,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outE_otherV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE().otherV()
+      g.V(vid1).outE().otherV()
       """
     When iterated to list
     Then the result should be unordered
@@ -336,10 +336,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX4X_bothE_otherV
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).bothE().otherV()
+      g.V(vid4).bothE().otherV()
       """
     When iterated to list
     Then the result should be unordered
@@ -350,10 +350,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX4X_bothE_hasXweight_lt_1X_otherV
     Given the modern graph
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v4Id).bothE().has("weight", P.lt(1.0)).otherV()
+      g.V(vid4).bothE().has("weight", P.lt(1.0)).otherV()
       """
     When iterated to list
     Then the result should be unordered
@@ -362,10 +362,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX2X_inE
     Given the modern graph
-    And using the parameter v2Id defined as "v[vadas].id"
+    And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
     """
-      g.V(v2Id).bothE()
+      g.V(vid2).bothE()
       """
     When iterated to list
     Then the result should be unordered
@@ -374,10 +374,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: get_g_VX1X_outE_otherV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE().otherV()
+      g.V(vid1).outE().otherV()
       """
     When iterated to list
     Then the result should be unordered
@@ -388,10 +388,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outXknowsX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("knows")
+      g.V(vid1).out("knows")
       """
     When iterated to list
     Then the result should be unordered
@@ -401,10 +401,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1AsStringX_outXknowsX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].sid"
+    And using the parameter vid1 defined as "v[marko].sid"
     And the traversal of
       """
-      g.V(v1Id).out("knows")
+      g.V(vid1).out("knows")
       """
     When iterated to list
     Then the result should be unordered
@@ -414,10 +414,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outXknows_createdX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out("knows","created")
+      g.V(vid1).out("knows","created")
       """
     When iterated to list
     Then the result should be unordered
@@ -428,10 +428,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outEXknowsX_inV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE("knows").inV()
+      g.V(vid1).outE("knows").inV()
       """
     When iterated to list
     Then the result should be unordered
@@ -441,10 +441,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_outEXknows_createdX_inV
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).outE("knows","created").inV()
+      g.V(vid1).outE("knows","created").inV()
       """
     When iterated to list
     Then the result should be unordered
@@ -467,20 +467,20 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_out_out_out
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out().out().out()
+      g.V(vid1).out().out().out()
       """
     When iterated to list
     Then the result should be empty
 
   Scenario: g_VX1X_out_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).out().values("name")
+      g.V(vid1).out().values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -491,10 +491,10 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
 
   Scenario: g_VX1X_to_XOUT_knowsX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).to(Direction.OUT, "knows")
+      g.V(vid1).to(Direction.OUT, "knows")
       """
     When iterated to list
     Then the result should be unordered
@@ -507,13 +507,13 @@ Feature: Step - V(), E(), out(), in(), both(), inE(), outE(), bothE()
   # which is simulated by an edge identifier.
   Scenario: g_VX1_2_3_4X_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter v2Id defined as "v[vadas].id"
-    And using the parameter v3Id defined as "e[marko-knows->josh].id"
-    And using the parameter v4Id defined as "v[josh].id"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter vid2 defined as "v[vadas].id"
+    And using the parameter vid3 defined as "e[marko-knows->josh].id"
+    And using the parameter vid4 defined as "v[josh].id"
     And the traversal of
       """
-      g.V(v1Id, v2Id, v3Id, v4Id).values("name")
+      g.V(vid1, vid2, vid3, vid4).values("name")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/sideEffect/Aggregate.feature b/gremlin-test/features/sideEffect/Aggregate.feature
index 2e80990..d74b257 100644
--- a/gremlin-test/features/sideEffect/Aggregate.feature
+++ b/gremlin-test/features/sideEffect/Aggregate.feature
@@ -113,10 +113,10 @@ Feature: Step - aggregate()
 
   Scenario: g_VX1X_aggregateXlocal_aX_byXnameX_out_aggregateXlocal_aX_byXnameX_name_capXaX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).aggregate(Scope.local,"a").by("name").out().aggregate(Scope.local,"a").by("name").values("name").cap("a")
+      g.V(vid1).aggregate(Scope.local,"a").by("name").out().aggregate(Scope.local,"a").by("name").values("name").cap("a")
       """
     When iterated next
     Then the result should be unordered
diff --git a/gremlin-test/features/sideEffect/Group.feature b/gremlin-test/features/sideEffect/Group.feature
index a4a5500..0b5f996 100644
--- a/gremlin-test/features/sideEffect/Group.feature
+++ b/gremlin-test/features/sideEffect/Group.feature
@@ -241,10 +241,10 @@ Feature: Step - group()
 
   Scenario: g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX
     Given the modern graph
-    And using the parameter m defined as "m[{\"marko\":[666], \"noone\":[\"blah\"]}]"
+    And using the parameter initial defined as "m[{\"marko\":[666], \"noone\":[\"blah\"]}]"
     And the traversal of
       """
-      g.withSideEffect("a", m).V().group("a").by("name").by(__.outE().label().fold()).cap("a")
+      g.withSideEffect("a", initial).V().group("a").by("name").by(__.outE().label().fold()).cap("a")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/sideEffect/Inject.feature b/gremlin-test/features/sideEffect/Inject.feature
index 20d6bd2..91bea1a 100644
--- a/gremlin-test/features/sideEffect/Inject.feature
+++ b/gremlin-test/features/sideEffect/Inject.feature
@@ -19,11 +19,11 @@ Feature: Step - inject()
 
   Scenario: g_VX1X_out_injectXv2X_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And using the parameter v2 defined as "v[vadas]"
     And the traversal of
       """
-      g.V(v1Id).out().inject(v2).values("name")
+      g.V(vid1).out().inject(v2).values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -36,11 +36,11 @@ Feature: Step - inject()
 
   Scenario: g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
-    And using the parameter c defined as "c[it.get().length()]"
+    And using the parameter vid1 defined as "v[marko].id"
+    And using the parameter l1 defined as "c[it.get().length()]"
     And the traversal of
       """
-      g.V(v1Id).out().values("name").inject("daniel").as("a").map(c).path()
+      g.V(vid1).out().values("name").inject("daniel").as("a").map(l1).path()
       """
     When iterated to list
     Then the result should be unordered
@@ -52,11 +52,11 @@ Feature: Step - inject()
 
   Scenario: g_VX1X_injectXg_VX4XX_out_name
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And using the parameter v4 defined as "v[josh]"
     And the traversal of
       """
-      g.V(v1Id).inject(v4).out().values("name")
+      g.V(vid1).inject(v4).out().values("name")
       """
     When iterated to list
     Then the result should be unordered
@@ -96,10 +96,10 @@ Feature: Step - inject()
 
   Scenario: g_injectXname_marko_age_nullX_selectXname_ageX
     Given the empty graph
-    And using the parameter m defined as "m[{\"name\":\"marko\", \"age\":null}]"
+    And using the parameter initial defined as "m[{\"name\":\"marko\", \"age\":null}]"
     And the traversal of
       """
-      g.inject(m).select("name","age")
+      g.inject(initial).select("name","age")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/sideEffect/Sack.feature b/gremlin-test/features/sideEffect/Sack.feature
index 1dfd2a4..6c4627d 100644
--- a/gremlin-test/features/sideEffect/Sack.feature
+++ b/gremlin-test/features/sideEffect/Sack.feature
@@ -58,10 +58,10 @@ Feature: Step - sack()
 
   Scenario: g_withBulkXfalseX_withSackX1_sumX_VX1X_localXoutEXknowsX_barrierXnormSackX_inVX_inXknowsX_barrier_sack
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.withBulk(false).withSack(1.0, Operator.sum).V(v1Id).local(__.outE("knows").barrier(Barrier.normSack).inV()).in("knows").barrier().sack()
+      g.withBulk(false).withSack(1.0, Operator.sum).V(vid1).local(__.outE("knows").barrier(Barrier.normSack).inV()).in("knows").barrier().sack()
       """
     When iterated to list
     Then the result should be unordered
@@ -84,10 +84,10 @@ Feature: Step - sack()
 
   Scenario: g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.withSack(1.0, Operator.sum).V(v1Id).local(__.out("knows").barrier(Barrier.normSack)).in("knows").barrier().sack()
+      g.withSack(1.0, Operator.sum).V(vid1).local(__.out("knows").barrier(Barrier.normSack)).in("knows").barrier().sack()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/features/sideEffect/Store.feature b/gremlin-test/features/sideEffect/Store.feature
index f61cbc4..e8f03ea 100644
--- a/gremlin-test/features/sideEffect/Store.feature
+++ b/gremlin-test/features/sideEffect/Store.feature
@@ -35,10 +35,10 @@ Feature: Step - store()
 
   Scenario: g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX
     Given the modern graph
-    And using the parameter v1Id defined as "v[marko].id"
+    And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.V(v1Id).store("a").by("name").out().store("a").by("name").values("name").cap("a")
+      g.V(vid1).store("a").by("name").out().store("a").by("name").values("name").cap("a")
       """
     When iterated next
     Then the result should be unordered