You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by co...@apache.org on 2025/08/15 00:03:34 UTC

(tinkerpop) branch deparameterizeFeatureTests created (now ebcd27f379)

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

colegreer pushed a change to branch deparameterizeFeatureTests
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


      at ebcd27f379 Deparameterize feature tests.

This branch includes the following new commits:

     new ebcd27f379 Deparameterize feature tests.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(tinkerpop) 01/01: Deparameterize feature tests.

Posted by co...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

colegreer pushed a commit to branch deparameterizeFeatureTests
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit ebcd27f3790a3b113e08da842dcbddf12bbcc2ae
Author: Cole-Greer <Co...@improving.com>
AuthorDate: Thu Aug 14 16:58:12 2025 -0700

    Deparameterize feature tests.
    
    Inline the majority of parameters in feature test scenarios for steps
    such as inject() and withSideEffect(). This is largely in preparation
    for the upcoming work on GValue parameterization in gremlin-lang.
    
    Parameters are largely unnecessary in the feature tests since they
    have been migrated from gremlin-groovy to gremlin-lang. A new bit
    of gherkin syntax is being added to directly set side effects without
    relying on query parameters which enables adding dynamic values such
    as vertex ids into side effects.
    
    This change also exposed a bug in the Go translator, which has been
    resolved as well.
---
 docs/src/dev/developer/for-committers.asciidoc     |  12 +
 .../language/translator/GoTranslateVisitor.java    |  53 ++++-
 .../language/translator/GremlinTranslatorTest.java |  46 ++--
 gremlin-dotnet/build/generate.groovy               |   9 +-
 .../Gherkin/CommonSteps.cs                         |  12 +-
 .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 177 +++++++--------
 gremlin-go/build/generate.groovy                   |  19 +-
 gremlin-go/driver/cucumber/cucumberSteps_test.go   |  32 ++-
 gremlin-go/driver/cucumber/cucumberWorld.go        |   2 +
 gremlin-go/driver/cucumber/gremlin.go              | 245 +++++++++++----------
 .../test/cucumber/feature-steps.js                 |  20 ++
 .../gremlin-javascript/test/cucumber/gremlin.js    | 168 +++++++-------
 .../gremlin-javascript/test/cucumber/world.js      |   1 +
 .../src/main/python/radish/feature_steps.py        |  15 ++
 gremlin-python/src/main/python/radish/gremlin.py   | 168 +++++++-------
 .../tests/driver/test_driver_remote_connection.py  |   9 +-
 .../tinkerpop/gremlin/features/StepDefinition.java |  21 +-
 .../gremlin/test/features/branch/Choose.feature    |  11 +-
 .../gremlin/test/features/branch/Union.feature     |   5 +-
 .../gremlin/test/features/filter/Where.feature     |   7 +-
 .../test/features/integrated/Miscellaneous.feature |   3 +-
 .../gremlin/test/features/map/AddEdge.feature      |   3 +-
 .../gremlin/test/features/map/Concat.feature       |   6 +-
 .../gremlin/test/features/map/Conjoin.feature      |   9 +-
 .../gremlin/test/features/map/Difference.feature   |  18 +-
 .../gremlin/test/features/map/Disjunct.feature     |  27 +--
 .../gremlin/test/features/map/Intersect.feature    |   3 +-
 .../gremlin/test/features/map/Length.feature       |   3 +-
 .../gremlin/test/features/map/Math.feature         |   3 +-
 .../gremlin/test/features/map/Mean.feature         |   7 +-
 .../gremlin/test/features/map/Merge.feature        |   3 +-
 .../gremlin/test/features/map/MergeEdge.feature    |  32 ++-
 .../gremlin/test/features/map/MergeVertex.feature  |  45 ++--
 .../gremlin/test/features/map/Min.feature          |   3 +-
 .../gremlin/test/features/map/Product.feature      |  24 +-
 .../gremlin/test/features/map/Replace.feature      |   3 +-
 .../gremlin/test/features/map/Sum.feature          |   7 +-
 .../gremlin/test/features/map/ToUpper.feature      |   6 +-
 .../gremlin/test/features/map/Trim.feature         |   6 +-
 .../test/features/semantics/Comparability.feature  |  30 +--
 .../test/features/semantics/Equality.feature       |  40 ++--
 .../test/features/sideEffect/Aggregate.feature     |  24 +-
 .../test/features/sideEffect/Inject.feature        |   3 +-
 .../gremlin/test/features/sideEffect/Sack.feature  |   3 +-
 .../gremlin/test/features/sideEffect/Store.feature |   4 +-
 45 files changed, 706 insertions(+), 641 deletions(-)

diff --git a/docs/src/dev/developer/for-committers.asciidoc b/docs/src/dev/developer/for-committers.asciidoc
index bc5c2ca72b..7e6d11c44e 100644
--- a/docs/src/dev/developer/for-committers.asciidoc
+++ b/docs/src/dev/developer/for-committers.asciidoc
@@ -436,6 +436,18 @@ would be "1" and refer to the `Vertex` with that `id`.
 * `Predicate` variables should use `pred1`.
 * `Comparator` variables should use `c1` and `c2`.    
 
+Additionally, traversal side effects can be configured in a similar fashion as parameters. The structure for side effect
+definition looks like this:
+
+[source,gherkin]
+----
+Given the modern graph
+And using the side effect x defined as "v[marko].id"
+----
+
+The above example is equivalent to configuring a traversal with `g.withSideEffect(x, <marko vertex id>)` and may be
+used to add side effect values which could otherwise not be inlined into the traversal script.
+
 Finally, specify the traversal under test with the "Given" option "and the traversal":
 
 [source,gherkin]
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java
index c72df796ff..9143b6f6ef 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java
@@ -88,11 +88,33 @@ public class GoTranslateVisitor extends AbstractTranslateVisitor {
         int lastCharIndex = integerLiteral.length() - 1;
         char lastChar = integerLiteral.charAt(lastCharIndex);
 
-        // if the last character is not alphabetic then try to interpret the right type and append the suffix
-        if (Character.isAlphabetic(lastChar))
+        // if the last character is alphabetic, then force the exact type
+        if (Character.isAlphabetic(lastChar)) {
+            switch(lastChar) {
+                case 'b':
+                    sb.append("int8(");
+                    break;
+                case 's':
+                    sb.append("int16(");
+                    break;
+                case 'i':
+                    sb.append("int32(");
+                    break;
+                case 'l':
+                    sb.append("int64(");
+                    break;
+                case 'n':
+                    sb.append("big.NewInt(");
+                    break;
+                default:
+                    throw new IllegalArgumentException("Unrecognized integer suffix: " + integerLiteral);
+            }
             sb.append(integerLiteral, 0, lastCharIndex);
-        else
+            sb.append(")");
+        }
+        else {
             sb.append(integerLiteral);
+        }
         return null;
     }
 
@@ -107,11 +129,28 @@ public class GoTranslateVisitor extends AbstractTranslateVisitor {
         int lastCharIndex = floatLiteral.length() - 1;
         char lastChar = floatLiteral.charAt(lastCharIndex);
 
-        // if the last character is not alphabetic then try to interpret the right type and append the suffix
-        if (Character.isAlphabetic(lastChar))
-            sb.append(floatLiteral, 0, lastCharIndex);
-        else
+        // if the last character is alphabetic, then force the exact type
+        if (Character.isAlphabetic(lastChar)) {
+            switch(lastChar) {
+                case 'f':
+                    sb.append("float32(");
+                    sb.append(floatLiteral, 0, lastCharIndex);
+                    sb.append(")");
+                    break;
+                case 'd': // Default case, no casts necessary
+                    sb.append(floatLiteral, 0, lastCharIndex);
+                    break;
+                case 'm':
+                    sb.append("gremlingo.ParseBigDecimal(\"");
+                    sb.append(floatLiteral, 0, lastCharIndex);
+                    sb.append("\")");
+                    break;
+                default:
+                    throw new IllegalArgumentException("Unrecognized float suffix: " + floatLiteral);
+            }
+        } else {
             sb.append(floatLiteral);
+        }
         return null;
     }
 
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
index cb253ba29d..0d2dcedda2 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
@@ -299,7 +299,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', 1.0f)",
                             "g.with(string0, float0)",
                             "g.With(\"x\", 1.0f)",
-                            "g.With(\"x\", 1.0)",
+                            "g.With(\"x\", float32(1.0))",
                             "g.with('x', 1.0f)",
                             "g.with(\"x\", 1.0f)",
                             "g.with_(\"x\", 1.0)",
@@ -308,7 +308,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, float0)",
                             "g.With(\"x\", 1.0f)",
-                            "g.With(\"x\", 1.0)",
+                            "g.With(\"x\", float32(1.0))",
                             null,
                             "g.with(\"x\", 1.0f)",
                             "g.with_(\"x\", 1.0)",
@@ -317,7 +317,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', -1.0f)",
                             "g.with(string0, float0)",
                             "g.With(\"x\", -1.0f)",
-                            "g.With(\"x\", -1.0)",
+                            "g.With(\"x\", float32(-1.0))",
                             "g.with('x', -1.0f)",
                             "g.with(\"x\", -1.0f)",
                             "g.with_(\"x\", -1.0)",
@@ -326,7 +326,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, bigdecimal0)",
                             "g.With(\"x\", (decimal) 1.0)",
-                            "g.With(\"x\", 1.0)",
+                            "g.With(\"x\", gremlingo.ParseBigDecimal(\"1.0\"))",
                             "g.with('x', 1.0g)",
                             "g.with(\"x\", new BigDecimal(\"1.0\"))",
                             "g.with_(\"x\", 1.0)",
@@ -335,7 +335,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, bigdecimal0)",
                             "g.With(\"x\", (decimal) -1.0)",
-                            "g.With(\"x\", -1.0)",
+                            "g.With(\"x\", gremlingo.ParseBigDecimal(\"-1.0\"))",
                             "g.with('x', -1.0g)",
                             "g.with(\"x\", new BigDecimal(\"-1.0\"))",
                             "g.with_(\"x\", -1.0)",
@@ -344,7 +344,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', -1.0m)",
                             "g.with(string0, bigdecimal0)",
                             "g.With(\"x\", (decimal) -1.0)",
-                            "g.With(\"x\", -1.0)",
+                            "g.With(\"x\", gremlingo.ParseBigDecimal(\"-1.0\"))",
                             "g.with('x', -1.0g)",
                             "g.with(\"x\", new BigDecimal(\"-1.0\"))",
                             "g.with_(\"x\", -1.0)",
@@ -353,7 +353,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, byte0)",
                             "g.With(\"x\", (byte) 1)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int8(1))",
                             "g.with('x', new Byte(1))",
                             "g.with(\"x\", new Byte(1))",
                             "g.with_(\"x\", 1)",
@@ -362,7 +362,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', 1b)",
                             "g.with(string0, byte0)",
                             "g.With(\"x\", (byte) 1)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int8(1))",
                             "g.with('x', new Byte(1))",
                             "g.with(\"x\", new Byte(1))",
                             "g.with_(\"x\", 1)",
@@ -371,7 +371,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, byte0)",
                             "g.With(\"x\", (byte) -1)",
-                            "g.With(\"x\", -1)",
+                            "g.With(\"x\", int8(-1))",
                             "g.with('x', new Byte(-1))",
                             "g.with(\"x\", new Byte(-1))",
                             "g.with_(\"x\", -1)",
@@ -380,7 +380,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, short0)",
                             "g.With(\"x\", (short) 1)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int16(1))",
                             "g.with('x', new Short(1))",
                             "g.with(\"x\", new Short(1))",
                             "g.with_(\"x\", 1)",
@@ -389,7 +389,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, short0)",
                             "g.With(\"x\", (short) -1)",
-                            "g.With(\"x\", -1)",
+                            "g.With(\"x\", int16(-1))",
                             "g.with('x', new Short(-1))",
                             "g.with(\"x\", new Short(-1))",
                             "g.with_(\"x\", -1)",
@@ -398,7 +398,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', 1s)",
                             "g.with(string0, short0)",
                             "g.With(\"x\", (short) 1)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int16(1))",
                             "g.with('x', new Short(1))",
                             "g.with(\"x\", new Short(1))",
                             "g.with_(\"x\", 1)",
@@ -407,7 +407,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, integer0)",
                             "g.With(\"x\", 1)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int32(1))",
                             null,
                             "g.with(\"x\", 1)",
                             "g.with_(\"x\", 1)",
@@ -416,7 +416,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', 1i)",
                             "g.with(string0, integer0)",
                             "g.With(\"x\", 1)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int32(1))",
                             "g.with('x', 1i)",
                             "g.with(\"x\", 1)",
                             "g.with_(\"x\", 1)",
@@ -425,7 +425,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, integer0)",
                             "g.With(\"x\", -1)",
-                            "g.With(\"x\", -1)",
+                            "g.With(\"x\", int32(-1))",
                             null,
                             "g.with(\"x\", -1)",
                             "g.with_(\"x\", -1)",
@@ -434,7 +434,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, long0)",
                             "g.With(\"x\", 1l)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int64(1))",
                             null,
                             "g.with(\"x\", 1l)",
                             "g.with_(\"x\", 1)",
@@ -443,7 +443,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', 1l)",
                             "g.with(string0, long0)",
                             "g.With(\"x\", 1l)",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", int64(1))",
                             "g.with('x', 1l)",
                             "g.with(\"x\", 1l)",
                             "g.with_(\"x\", 1)",
@@ -452,7 +452,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, long0)",
                             "g.With(\"x\", -1l)",
-                            "g.With(\"x\", -1)",
+                            "g.With(\"x\", int64(-1))",
                             null,
                             "g.with(\"x\", -1l)",
                             "g.with_(\"x\", -1)",
@@ -461,7 +461,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, biginteger0)",
                             "g.With(\"x\", new BigInteger(1))",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", big.NewInt(1))",
                             "g.with('x', 1g)",
                             "g.with(\"x\", new BigInteger(\"1\"))",
                             "g.with_(\"x\", 1)",
@@ -470,7 +470,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', 1n)",
                             "g.with(string0, biginteger0)",
                             "g.With(\"x\", new BigInteger(1))",
-                            "g.With(\"x\", 1)",
+                            "g.With(\"x\", big.NewInt(1))",
                             "g.with('x', 1g)",
                             "g.with(\"x\", new BigInteger(\"1\"))",
                             "g.with_(\"x\", 1)",
@@ -479,7 +479,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.with(string0, biginteger0)",
                             "g.With(\"x\", new BigInteger(-1))",
-                            "g.With(\"x\", -1)",
+                            "g.With(\"x\", big.NewInt(-1))",
                             "g.with('x', -1g)",
                             "g.with(\"x\", new BigInteger(\"-1\"))",
                             "g.with_(\"x\", -1)",
@@ -488,7 +488,7 @@ public class GremlinTranslatorTest {
                             "g.with('x', 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000n)",
                             "g.with(string0, biginteger0)",
                             "g.With(\"x\", new BigInteger(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))",
-                            "g.With(\"x\", 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)",
+                            "g.With(\"x\", big.NewInt(10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000))",
                             "g.with('x', 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000g)",
                             "g.with(\"x\", new BigInteger(\"10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"))",
                             "g.with_(\"x\", 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)",
@@ -1077,7 +1077,7 @@ public class GremlinTranslatorTest {
                             "g.V().limit(1l)",
                             "g.V().limit(long0)",
                             "g.V().Limit<object>(1l)",
-                            "g.V().Limit(1)",
+                            "g.V().Limit(int64(1))",
                             "g.V().limit(1l)",
                             "g.V().limit(1l)",
                             "g.V().limit(1)",
diff --git a/gremlin-dotnet/build/generate.groovy b/gremlin-dotnet/build/generate.groovy
index 1d54dcf8d6..1a86a5155d 100644
--- a/gremlin-dotnet/build/generate.groovy
+++ b/gremlin-dotnet/build/generate.groovy
@@ -133,12 +133,17 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer ->
     writer.writeLine('            };\n')
 
     writer.writeLine(
-            '        public static ITraversal UseTraversal(string scenarioName, GraphTraversalSource g, IDictionary<string, object> parameters)\n' +
+            '        public static ITraversal UseTraversal(string scenarioName, GraphTraversalSource g, IDictionary<string, object> parameters, IDictionary<string, object> sideEffects)\n' +
             '        {\n' +
             '            List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> list = _translationsForTestRun[scenarioName];\n' +
             '            Func<GraphTraversalSource, IDictionary<string, object>, ITraversal> f = list[0];\n' +
             '            list.RemoveAt(0);\n' +
-            '            return f.Invoke(g, parameters);\n' +
+            '            ITraversal traversal = f.Invoke(g, parameters);\n' +
+            '            foreach (var sideEffect in sideEffects)\n' +
+            '            {\n' +
+            '                traversal.Bytecode.AddSource("withSideEffect", sideEffect.Key, sideEffect.Value);\n' +
+            '            }\n' +
+            '            return traversal;\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 14d96227c4..563b9a17d6 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/CommonSteps.cs
@@ -45,6 +45,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
         private GraphTraversalSource? _g;
         private string? _graphName;
         private readonly IDictionary<string, object?> _parameters = new Dictionary<string, object?>();
+        private readonly IDictionary<string, object?> _sideEffects = new Dictionary<string, object?>();
         private ITraversal? _traversal;
         private object?[]? _result;
         private Exception? _error;
@@ -121,6 +122,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             var parsedValue = ParseValue(value.Replace("\\\"", "\""), _graphName!);
             _parameters.Add(name, new P(pval, parsedValue));
         }
+        
+        [Given("using the side effect (\\w+) defined as \"(.*)\"")]
+        public void UsingSideEffect(string key, string value)
+        {
+            var parsedValue = ParseValue(value.Replace("\\\"", "\""), _graphName!);
+            _sideEffects.Add(key, parsedValue);
+        }
 
         [Given("the traversal of")]
         public void TranslateTraversal(string traversalText)
@@ -136,14 +144,14 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
             }
 
             _traversal =
-                Gremlin.UseTraversal(ScenarioData.CurrentScenario!.Name, _g, _parameters);
+                Gremlin.UseTraversal(ScenarioData.CurrentScenario!.Name, _g, _parameters, _sideEffects);
         }
 
         [Given("the graph initializer of")]
         public void InitTraversal(string traversalText)
         {
             var traversal =
-                Gremlin.UseTraversal(ScenarioData.CurrentScenario!.Name, _g, _parameters);
+                Gremlin.UseTraversal(ScenarioData.CurrentScenario!.Name, _g, _parameters, _sideEffects);
             traversal.Iterate();
             
             // We may have modified the so-called `empty` graph
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index 710a50e829..db71cfd5c5 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -78,8 +78,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"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<object>(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<object>(p["xx3"]).Choose<object>(__.Is(p["xx2"]), __.Constant<object>(p["xx1"]).Fold(), __.Fold<object>())}}, 
+               {"g_injectX1X_chooseXisX1X__constantX10Xfold__foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(1).Choose<object>(__.Is(p["xx1"]), __.Constant<object>(10).Fold(), __.Fold<object>())}}, 
+               {"g_injectX2X_chooseXisX1X__constantX10Xfold__foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(2).Choose<object>(__.Is(p["xx1"]), __.Constant<object>(10).Fold(), __.Fold<object>())}}, 
                {"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(P.Between(26, 30), __.Constant<object>("x")).Option(P.Between(20, 30), __.Constant<object>("y")).Option(Pick.None, __.Constant<object>("z"))}}, 
                {"g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(P.Between(26, 30).Or(P.Gt(34)), __.Constant<object>("x")).Option(P.Gt(34), __.Constant<object>("y")).Option(Pick.None, __.Constant<object>("z"))}}, 
                {"g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Choose<object>(__.Values<object>("age")).Option(P.Between(26, 30), __.Values<object>("name")).Option(Pick.None, __.Values<object>("name"))}}, 
@@ -155,7 +155,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_unionXV_out_out_V_hasLabelXsoftwareXX_path_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Union<object>(__.V().Out().Out(), __.V().HasLabel("software")).Path().By("name")}}, 
                {"g_unionXunionXV_out_outX_V_hasLabelXsoftwareXX_path_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Union<object>(__.Union<object>(__.V().Out().Out()), __.V().HasLabel("software")).Path().By("name")}}, 
                {"g_unionXinjectX1X_injectX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Union<object>(__.Inject(1), __.Inject(2))}}, 
-               {"g_V_unionXconstantX1X_constantX2X_constantX3XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).Union<object>(__.Constant<object>(p["xx1"]), __.Constant<object>(p["xx2"]), __.Constant<object>(p["xx3"]))}}, 
+               {"g_V_unionXconstantX1X_constantX2X_constantX3XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid2"]).Union<object>(__.Constant<object>(1), __.Constant<object>(2), __.Constant<object>(3))}}, 
                {"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())}}, 
@@ -424,13 +424,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"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["xx1"]).V(p["vid1"]).Out("created").In("created").Values<object>("name").Where(P.Within("a"))}}, 
+               {"g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", new List<object> { "josh", "peter" }).V(p["vid1"]).Out("created").In("created").Values<object>("name").Where(P.Within("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.Not(P.Within("x")))}}, 
-               {"g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", p["vid2"]).V(p["vid1"]).Out().Where(__.Id().Where(P.Neq("a")))}}, 
+               {"g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Out().Where(__.Id().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("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.Not(P.Eq(0)))))).Select<object>("a", "b")}}, 
@@ -492,7 +492,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_withoutStrategiesXMatchPredicateStrategyX_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.WithoutStrategies(typeof(MatchPredicateStrategy)).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_withStrategiesXMessagePassingReductionStrategyX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new MessagePassingReductionStrategy()).V()}}, 
                {"g_withoutStrategiesXMessagePassingReductionStrategyX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithoutStrategies(typeof(MessagePassingReductionStrategy)).V()}}, 
-               {"g_V_coworker", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Filter(__.OutE("created")).Aggregate("p").As("p1").Values<object>("name").As("p1n").Select<object>("p").Unfold<object>().Where(P.Neq("p1")).As("p2").Values<object>("name").As("p2n").Select<object>("p2").Out("created").Choose<object>(__.In("created").Where(P.Eq("p1")), __.Values<object>("name"), __.Constant<object>(p["xx1"])).Group<object, object> [...]
+               {"g_V_coworker", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Filter(__.OutE("created")).Aggregate("p").As("p1").Values<object>("name").As("p1n").Select<object>("p").Unfold<object>().Where(P.Neq("p1")).As("p2").Values<object>("name").As("p2n").Select<object>("p2").Out("created").Choose<object>(__.In("created").Where(P.Eq("p1")), __.Values<object>("name"), __.Constant<object>(new List<object> {  })).Group<ob [...]
                {"g_V_coworker_with_midV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Filter(__.OutE("created")).As("p1").V().HasLabel("person").Where(P.Neq("p1")).Filter(__.OutE("created")).As("p2").Map<object>(__.Out("created").Where(__.In("created").As("p1")).Values<object>("name").Fold()).Group<object, object>().By(__.Select<object>("p1").By("name")).By(__.Group<object, object>().By(__.Select<object>("p2").By("name") [...]
                {"g_withStrategiesXOptionsStrategyX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new OptionsStrategy()).V()}}, 
                {"g_withStrategiesXOptionsStrategyXmyVar_myValueXX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new OptionsStrategy(new Dictionary<string, object> {{"myVar","myValue"},})).V()}}, 
@@ -624,7 +624,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("sof [...]
                {"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("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", [...]
                {"g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV [...]
-               {"g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Property [...]
+               {"g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Property [...]
                {"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("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("softwar [...]
                {"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("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("nam [...]
@@ -744,8 +744,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_injectXa_bX_concat_XcX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("a", "b").Concat("c")}}, 
                {"g_injectXa_bX_concat_Xc_dX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("a", "b").Concat("c", "d")}}, 
                {"g_injectXa_bX_concat_Xinject_c_dX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("a", "b").Concat(__.Inject("c"))}}, 
-               {"g_injectXaX_concat_Xinject_List_b_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("a").Concat(__.Inject(p["xx1"]))}}, 
-               {"g_injectXListXa_bXcX_concat_XdX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"], "c").Concat("d")}}, 
+               {"g_injectXaX_concat_Xinject_List_b_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("a").Concat(__.Inject(new List<object> { "b", "c" }))}}, 
+               {"g_injectXListXa_bXcX_concat_XdX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", "b" }, "c").Concat("d")}}, 
                {"g_injectXnullX_concat_XinjectX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null).Concat()}}, 
                {"g_injectXnull_aX_concat_Xnull_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null, "a").Concat(null, "b")}}, 
                {"g_injectXhello_hiX_concat_XV_valuesXnameXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("hello", "hi").Concat(__.V().Order().By(T.Id).Values<object>("name"))}}, 
@@ -761,11 +761,11 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnameX_order_fold_conjoinX_X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().Fold().Conjoin("_")}}, 
                {"g_V_valuesXageX_order_fold_conjoinX_X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Order().Fold().Conjoin(";")}}, 
                {"g_V_out_path_byXvaluesXnameX_toUpperX_conjoinXMARKOX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Conjoin("MARKO")}}, 
-               {"g_injectXmarkoX_conjoinX_X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Conjoin("-")}}, 
+               {"g_injectXmarkoX_conjoinX_X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "marko" }).Conjoin("-")}}, 
                {"g_V_valueMapXlocationX_selectXvaluesX_unfold_orderXlocalX_conjoinX1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Order(Scope.Local).Conjoin("1")}}, 
                {"g_V_out_out_path_byXnameX_conjoinXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Conjoin("")}}, 
-               {"g_injectXa_null_bX_conjoinXxyzX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Conjoin("xyz")}}, 
-               {"g_injectX3_threeX_conjoinX_X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Conjoin(";")}}, 
+               {"g_injectXa_null_bX_conjoinXxyzX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", null, "b" }).Conjoin("xyz")}}, 
+               {"g_injectX3_threeX_conjoinX_X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { 3, "three" }).Conjoin(";")}}, 
                {"g_V_connectedComponent_hasXcomponentX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ConnectedComponent().Has("gremlin.connectedComponentVertexProgram.component")}}, 
                {"g_V_dedup_connectedComponent_hasXcomponentX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.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.V().HasLabel("software").ConnectedComponent().Project<object>("name", "component").By("name").By("gremlin.connectedComponentVertexProgram.component")}}, 
@@ -806,13 +806,13 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnonexistantX_fold_differenceXV_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("nonexistant").Fold().Difference(__.V().Values<object>("name").Fold())}}, 
                {"g_V_valuesXnameX_fold_differenceXV_valuesXnonexistantX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Difference(__.V().Values<object>("nonexistant").Fold())}}, 
                {"g_V_valuesXageX_fold_differenceXV_valuesXageX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Difference(__.V().Values<object>("age").Fold())}}, 
-               {"g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Difference(p["xx1"])}}, 
-               {"g_injectXmarkoX_differenceXV_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Difference(__.V().Values<object>("name").Fold())}}, 
-               {"g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Difference(p["xx1"])}}, 
-               {"g_V_out_out_path_byXnameX_differenceXrippleX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Difference(p["xx1"])}}, 
-               {"g_V_out_out_path_byXnameX_differenceXempty_listX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Difference(p["xx1"])}}, 
+               {"g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Difference(new List<object> { "MARKO" })}}, 
+               {"g_injectXmarkoX_differenceXV_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "marko" }).Difference(__.V().Values<object>("name").Fold())}}, 
+               {"g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Difference(new List<object> { "seattle", "vancouver" })}}, 
+               {"g_V_out_out_path_byXnameX_differenceXrippleX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Difference(new List<object> { "ripple" })}}, 
+               {"g_V_out_out_path_byXnameX_differenceXempty_listX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Difference(new List<object> {  })}}, 
                {"g_V_valuesXageX_fold_differenceXconstantX27X_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Difference(__.Constant<object>(27).Fold())}}, 
-               {"g_V_out_out_path_byXnameX_differenceXdave_kelvinX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Difference(p["xx1"])}}, 
+               {"g_V_out_out_path_byXnameX_differenceXdave_kelvinX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Difference(new List<object> { "dave", "kelvin" })}}, 
                {"g_injectXa_null_bX_differenceXa_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Difference(p["xx2"])}}, 
                {"g_injectXa_null_bX_differenceXa_null_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Difference(p["xx2"])}}, 
                {"g_injectX3_threeX_differenceXfive_three_7X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Difference(p["xx2"])}}, 
@@ -825,14 +825,14 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnonexistantX_fold_disjunctXV_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("nonexistant").Fold().Disjunct(__.V().Values<object>("name").Fold())}}, 
                {"g_V_valuesXnameX_fold_disjunctXV_valuesXnonexistantX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Disjunct(__.V().Values<object>("nonexistant").Fold())}}, 
                {"g_V_valuesXageX_fold_disjunctXV_valuesXageX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Disjunct(__.V().Values<object>("age").Fold())}}, 
-               {"g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Disjunct(p["xx1"])}}, 
-               {"g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Disjunct(p["xx1"])}}, 
-               {"g_V_out_out_path_byXnameX_disjunctXmarkoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Disjunct(p["xx1"])}}, 
-               {"g_V_out_out_path_byXnameX_disjunctXstephen_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Disjunct(p["xx1"])}}, 
-               {"g_V_out_out_path_byXnameX_disjunctXdave_kelvinX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Disjunct(p["xx1"])}}, 
-               {"g_injectXa_null_bX_disjunctXa_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Disjunct(p["xx2"])}}, 
-               {"g_injectXa_null_bX_disjunctXa_null_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Disjunct(p["xx2"])}}, 
-               {"g_injectX3_threeX_disjunctXfive_three_7X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Disjunct(p["xx2"])}}, 
+               {"g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Disjunct(new List<object> { "MARKO" })}}, 
+               {"g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Disjunct(new List<object> { "seattle", "vancouver" })}}, 
+               {"g_V_out_out_path_byXnameX_disjunctXmarkoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Disjunct(new List<object> { "marko" })}}, 
+               {"g_V_out_out_path_byXnameX_disjunctXstephen_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Disjunct(new List<object> { "stephen", "marko" })}}, 
+               {"g_V_out_out_path_byXnameX_disjunctXdave_kelvinX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Disjunct(new List<object> { "dave", "kelvin" })}}, 
+               {"g_injectXa_null_bX_disjunctXa_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", null, "b" }).Disjunct(new List<object> { "a", "c" })}}, 
+               {"g_injectXa_null_bX_disjunctXa_null_cX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", null, "b" }).Disjunct(new List<object> { "a", null, "c" })}}, 
+               {"g_injectX3_threeX_disjunctXfive_three_7X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { 3, "three" }).Disjunct(new List<object> { "five", "three", 7 })}}, 
                {"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"])}}, 
@@ -891,7 +891,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnonexistantX_fold_intersectXV_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("nonexistant").Fold().Intersect(__.V().Values<object>("name").Fold())}}, 
                {"g_V_valuesXnameX_fold_intersectXV_valuesXnonexistantX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Intersect(__.V().Values<object>("nonexistant").Fold())}}, 
                {"g_V_valuesXageX_fold_intersectXV_valuesXageX_foldX_order_local", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Intersect(__.V().Values<object>("age").Fold()).Order(Scope.Local)}}, 
-               {"g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Intersect(p["xx1"])}}, 
+               {"g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Intersect(new List<object> { "MARKO" })}}, 
                {"g_injectXmarkoX_intersectX___V_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Intersect(__.V().Values<object>("name").Fold())}}, 
                {"g_V_valueMapXlocationX_selectXvaluesX_unfold_intersectXseattle_vancouverX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Intersect(p["xx1"])}}, 
                {"g_V_valuesXageX_fold_intersectX___constantX27X_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Fold().Intersect(__.Constant<object>(27).Fold())}}, 
@@ -908,7 +908,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnameX_order_fold_lTrimXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "   ri [...]
                {"g_injectXfeature_test_nullX_length", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("feature", "test", null).Length()}}, 
                {"g_injectXfeature_test_nullX_lengthXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("feature", "test", null).Length<object>(Scope.Local)}}, 
-               {"g_injectXListXa_bXX_length", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Length()}}, 
+               {"g_injectXListXa_bXX_length", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", "b" }).Length()}}, 
                {"g_V_valuesXnameX_length", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Length()}}, 
                {"g_V_valuesXnameX_order_fold_lengthXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().Fold().Length<object>(Scope.Local)}}, 
                {"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")}}, 
@@ -960,7 +960,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"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["xx1"]).V().Values<object>("age").Math("_ + x")}}, 
+               {"g_withSideEffectXx_100X_V_age_mathX__plus_xX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("x", 100).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<object>(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")}}, 
@@ -998,8 +998,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_meanXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap<object>("a").Mean<object>(Scope.Local)}}, 
                {"g_V_aggregateXaX_byXfooX_capXaX_unfold_mean", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Aggregate("a").By("foo").Cap<object>("a").Unfold<object>().Mean<object>()}}, 
                {"g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_mean", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap<object>("a").Unfold<object>().Mean<object>()}}, 
-               {"g_injectXnull_10_20_nullX_mean", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null, p["xx1"], p["xx2"], null).Mean<object>()}}, 
-               {"g_injectXlistXnull_10_20_nullXX_meanXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Mean<object>(Scope.Local)}}, 
+               {"g_injectXnull_10_20_nullX_mean", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null, 10, 20, null).Mean<object>()}}, 
+               {"g_injectXlistXnull_10_20_nullXX_meanXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { null, 10, 20, null }).Mean<object>(Scope.Local)}}, 
                {"g_VX1X_valuesXageX_meanXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Values<object>("age").Mean<object>(Scope.Local)}}, 
                {"g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_meanXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.Union<object>(__.Values<object>("age"), __.OutE().Values<object>("weight")).Fold()).Mean<object>(Scope.Local)}}, 
                {"g_injectXnullX_mergeXinjectX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null).Merge(__.Inject(1))}}, 
@@ -1008,7 +1008,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_fold_mergeXVX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fold().Merge(__.V())}}, 
                {"g_V_elementMap_mergeXconstantXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ElementMap<object>().Merge(__.Constant<object>("a"))}}, 
                {"g_V_fold_mergeXV_asXaX_projectXaX_byXnameXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fold().Merge(__.V().As("a").Project<object>("a").By("name"))}}, 
-               {"g_V_fold_mergeXk_vX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fold().Merge(p["xx1"])}}, 
+               {"g_V_fold_mergeXk_vX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fold().Merge(new Dictionary<object, object> {{ "k", "v" }})}}, 
                {"g_V_valuesXnameX_fold_mergeX2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Merge(2)}}, 
                {"g_V_valuesXnameX_fold_mergeXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Merge(null)}}, 
                {"g_V_valuesXnonexistantX_fold_mergeXV_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("nonexistant").Fold().Merge(__.V().Values<object>("name").Fold())}}, 
@@ -1034,7 +1034,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_mergeEXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.MergeE((IDictionary<object, object>) null)}}, 
                {"g_V_mergeEXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.V().MergeE((IDictionary<object, object>) null)}}, 
                {"g_mergeEXlabel_knows_out_marko_in_vadasX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V().Has("person", "name", "marko").Out("knows").Has("person", "name", "vadas")}}, 
-               {"g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.WithSideEffect("a", p["xx1"]).MergeE((ITraversal) __.Select<object>("a")), (g,p) =>g.V().Has("person", "name", "marko").Out("knows").Has("person", "name", "vadas")}}, 
+               {"g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.MergeE((ITraversal) __.Select<object>("a")), (g,p) =>g.V().Has("person", "name", "marko").Out("knows").Has("person", "name", "vadas")}}, 
                {"g_mergeEXlabel_knows_out_marko1_in_vadas1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V().Has("person", "name", "marko").Out("knows").Has("person", "name", "vadas")}}, 
                {"g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X_exists", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V().Has("person", "name", "marko").OutE("knows").Has("weight", 0.5).InV().Has("person", "name", "vadas"), (g,p) =>g.V().Has("pe [...]
                {"g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"])}}, 
@@ -1047,12 +1047,12 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_mergeEXlabel_knows_out_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b").Property("created", "Y").AddE("knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.O [...]
                {"g_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b").Property("created", "Y").AddE("knows").From("b").To("a").Property("created", "Y"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ID [...]
                {"g_V_hasXperson_name_marko_X_mergeEXlabel_self_out_vadas1_in_vadas1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.V().Has("person", "name", "marko").MergeE((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.E().HasLabel("self").BothV().Has("name", "vadas")}}, 
-               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b"), (g,p) =>g.WithSideEffect("c", p["xx2"]).WithSideEffect("m", p["xx3"]).MergeE((IDictionary<object,  [...]
-               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b"), (g,p) =>g.WithSideEffect("c", p["xx2"]).WithSideEffect("m", p["xx3"]).MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreat [...]
-               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b"), (g,p) =>g.WithSideEffect("c", p["xx2"]).WithSideEffect("m", p["xx3"]).MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCre [...]
+               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Se [...]
+               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("c")).Option(Merge.OnMatch [...]
+               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (ITraversal) __.Select<object>("c")).Option(Merge.OnMat [...]
                {"g_mergeEXlabel_knows_out_marko_in_vadasX_aliased_direction", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V().Has("person", "name", "marko").Out("knows").Has("person", "name", "vadas")}}, 
                {"g_injectXlabel_knows_out_marko_in_vadas_label_self_out_vadas_in_vadasX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.Inject<object>(p["xx1"], p["xx2"]).MergeE(), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.V().Has("person", "name", "marko").Out("knows").Has("person", "name", "vadas"), (g,p) =>g.V().Has("person", "name", "vadas").Out("self" [...]
-               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").Property("weight", 1.0d).From("a").To("b"), (g,p) =>g.WithSideEffect("c", p["xx2" [...]
+               {"g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").Property("weight", 1.0d).From("a").To("b"), (g,p) =>g.MergeE((IDictionary<object, [...]
                {"g_mergeE_with_outVinV_options_map", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OutV, (IDictionary<object, object>) p["xx2"]).Option(Merge.InV, (IDictionary<object, object>) p["xx3"]), (g,p) =>g.V(), (g,p) =>g.V().Has("name", "marko").Out("knows").Has("name", "vadas")}}, 
                {"g_mergeE_with_outVinV_options_select", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.V(p["vid1"]).As("x").V(p["vid2"]).As("y").MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OutV, (ITraversal) __.Select<object>("x")).Option(Merge.InV, (ITraversal) __.Select<object>("y")), (g,p) =>g.V(), (g,p) =>g.V().Has("name", "marko").Out [...]
                {"g_mergeE_with_eid_specified_and_inheritance_1", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas"), (g,p) =>g.MergeE((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.E("201"), (g,p) =>g.V().Has("name", "marko").Out("knows").Has("name", "vadas")}}, 
@@ -1088,23 +1088,23 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_mergeVXlabel_person_name_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V().Has("person", "name", "marko")}}, 
                {"g_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V().Has("person", "name", "stephen").Has("age", 19)}}, 
                {"g_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnMatch, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V().Has("person", "name", "marko").Has("age", 19)}}, 
-               {"g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnCreate, (ITraversal) __.Select<object>("m")) [...]
-               {"g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnMatch, (ITraversal) __.Select<object>("m")), (g,p) =>g.V().Has("person",  [...]
+               {"g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnCreate, (ITraversal) __.Select<object>("m")), (g,p) =>g.V().Has("person", "name", "stephen").Has("age", 19)}}, 
+               {"g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnMatch, (ITraversal) __.Select<object>("m")), (g,p) =>g.V().Has("person", "name", "marko").Has("age", 19)}}, 
                {"g_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Property("name", "vadas", "acl", "public"), (g,p) =>g.V().Properties<object>("name").HasValue("vadas").Has("acl", "public")}}, 
                {"g_injectX0X_mergeVXlabel_person_name_stephenX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(0).MergeV((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V().Has("person", "name", "stephen")}}, 
                {"g_injectX0X_mergeVXlabel_person_name_markoX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(0).MergeV((IDictionary<object, object>) p["xx1"]), (g,p) =>g.V().Has("person", "name", "marko")}}, 
                {"g_injectX0X_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(0).MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V().Has("person", "name", "stephen").Has("age", 19)}}, 
                {"g_injectX0X_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(0).MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnMatch, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V().Has("person", "name", "marko").Has("age", 19)}}, 
-               {"g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).Inject<object>(0).MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnCreate, (ITraver [...]
-               {"g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).Inject<object>(0).MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnMatch, (ITraversal) __.Select<object>("m")),  [...]
+               {"g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(0).MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnCreate, (ITraversal) __.Select<object>("m")), (g,p) =>g.V().Has("person", "n [...]
+               {"g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(0).MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnMatch, (ITraversal) __.Select<object>("m")), (g,p) =>g.V().Has("person", "name", "marko").Has("age", 19)}}, 
                {"g_injectX0X_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(0).MergeV((IDictionary<object, object>) p["xx1"]).Property("name", "vadas", "acl", "public"), (g,p) =>g.V().Properties<object>("name").HasValue("vadas").Has("acl", "public")}}, 
                {"g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeVXidentityX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(p["xx1"], p["xx2"]).MergeV((ITraversal) __.Identity()), (g,p) =>g.V().Has("person", "name", "stephen"), (g,p) =>g.V().Has("person", "name", "marko"), (g,p) =>g.V()}}, 
                {"g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 29), (g,p) =>g.Inject<object>(p["xx1"], p["xx2"]).MergeV(), (g,p) =>g.V().Has("person", "name", "stephen"), (g,p) =>g.V().Has("person", "name", "marko"), (g,p) =>g.V()}}, 
                {"g_mergeVXlabel_person_name_stephenX_propertyXlist_name_steveX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(Cardinality.List, "name", "stephen"), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Property(Cardinality.List, "name", "steve"), (g,p) =>g.V(), (g,p) =>g.V().Properties<object>("name").HasValue("steve"), (g,p) =>g.V().Properties<object>("name").HasValue("stephen"), (g,p) =>g.V().Propert [...]
                {"g_mergeXlabel_person_name_vadasX_optionXonMatch_age_35X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "vadas").Property("age", 29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnMatch, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V().Has("age", 35), (g,p) =>g.V()}}, 
                {"g_V_mapXmergeXlabel_person_name_joshXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "vadas").Property("age", 29).AddV("person").Property("name", "stephen").Property("age", 27), (g,p) =>g.V().Map<object>(__.MergeV((IDictionary<object, object>) p["xx1"])), (g,p) =>g.V().Has("person", "name", "josh"), (g,p) =>g.V()}}, 
-               {"g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property(Cardinality.List, "age", 29).Property(Cardinality.List, "age", 31).Property(Cardinality.List, "age", 32), (g,p) =>g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).Merge [...]
-               {"g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property(Cardinality.List, "age", 29).Property(Cardinality.List, "age", 31).Property(Cardinality.List, "age", 32), (g,p) =>g.WithSideEffect("m", p["xx1"]).V().Has("person", "name", "marko").MergeV((IDictiona [...]
+               {"g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property(Cardinality.List, "age", 29).Property(Cardinality.List, "age", 31).Property(Cardinality.List, "age", 32), (g,p) =>g.MergeV((ITraversal) __.Select<object>("c")).Option(Merge.OnMatch, [...]
+               {"g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "marko").Property(Cardinality.List, "age", 29).Property(Cardinality.List, "age", 31).Property(Cardinality.List, "age", 32), (g,p) =>g.V().Has("person", "name", "marko").MergeV((IDictionary<object, object>) new Dictio [...]
                {"g_mergeV_onCreate_inheritance_existing", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "mike").Property(T.Id, "1"), (g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.V("1").Has("person", "name", "mike")}}, 
                {"g_mergeV_onCreate_inheritance_new_1", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.V("1").Has("person", "name", "mike")}}, 
                {"g_mergeV_onCreate_inheritance_new_2", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.MergeV((IDictionary<object, object>) p["xx1"]).Option(Merge.OnCreate, (IDictionary<object, object>) p["xx2"]), (g,p) =>g.V(), (g,p) =>g.V("1").Has("person", "name", "mike")}}, 
@@ -1149,7 +1149,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"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_foo_injectX9999999999X_min", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("foo").Inject(9999999999l).Min<object>()}}, 
                {"g_VX1X_valuesXageX_minXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Values<object>("age").Min<object>(Scope.Local)}}, 
                {"g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_minXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.Union<object>(__.Values<object>("age"), __.OutE().Values<object>("weight")).Fold()).Min<object>(Scope.Local)}}, 
                {"g_V_name_order", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order()}}, 
@@ -1210,14 +1210,14 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnonexistantX_fold_productXV_valuesXnameX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("nonexistant").Fold().Product(__.V().Values<object>("name").Fold())}}, 
                {"g_V_valuesXnameX_fold_productXV_valuesXnonexistantX_foldX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Fold().Product(__.V().Values<object>("nonexistant").Fold())}}, 
                {"g_V_valuesXageX_order_byXdescX_limitX3X_fold_productXV_valuesXageX_order_byXascX_limitX2X_foldX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Order().By(Order.Desc).Limit<object>(3).Fold().Product(__.V().Values<object>("age").Order().By(Order.Asc).Limit<object>(2).Fold()).Unfold<object>()}}, 
-               {"g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Product(p["xx1"]).Unfold<object>()}}, 
-               {"g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Product(__.V().Values<object>("name").Order().Fold()).Unfold<object>()}}, 
-               {"g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Product(p["xx1"]).Unfold<object>()}}, 
+               {"g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Path().By(__.Values<object>("name").ToUpper()).Product(new List<object> { "MARKO" }).Unfold<object>()}}, 
+               {"g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "marko" }).Product(__.V().Values<object>("name").Order().Fold()).Unfold<object>()}}, 
+               {"g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().ValueMap<object, object>("location").Select<object>(Column.Values).Unfold<object>().Product(new List<object> { "dulles", "seattle", "vancouver" }).Unfold<object>()}}, 
                {"g_V_valuesXageX_order_byXascX_fold_productXconstantX27X_foldX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Order().By(Order.Asc).Fold().Product(__.Constant<object>(27).Fold()).Unfold<object>()}}, 
-               {"g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Product(p["xx1"]).Unfold<object>()}}, 
-               {"g_injectXa_null_bX_productXa_cX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Product(p["xx2"]).Unfold<object>()}}, 
-               {"g_injectXa_null_bX_productXa_null_cX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Product(p["xx2"]).Unfold<object>()}}, 
-               {"g_injectX3_threeX_productXfive_three_7X_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Product(p["xx2"]).Unfold<object>()}}, 
+               {"g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Out().Out().Path().By("name").Product(new List<object> { "dave", "kelvin" }).Unfold<object>()}}, 
+               {"g_injectXa_null_bX_productXa_cX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", null, "b" }).Product(new List<object> { "a", "c" }).Unfold<object>()}}, 
+               {"g_injectXa_null_bX_productXa_null_cX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", null, "b" }).Product(new List<object> { "a", null, "c" }).Unfold<object>()}}, 
+               {"g_injectX3_threeX_productXfive_three_7X_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { 3, "three" }).Product(new List<object> { "five", "three", 7 }).Unfold<object>()}}, 
                {"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"))}}, 
@@ -1237,7 +1237,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnameX_order_fold_rTrimXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "   ri [...]
                {"g_injectXthat_this_test_nullX_replaceXh_jX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("that", "this", "test", null).Replace("h", "j")}}, 
                {"g_injectXthat_this_test_nullX_fold_replaceXlocal_h_jX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("that", "this", "test", null).Fold().Replace<object>(Scope.Local, "h", "j")}}, 
-               {"g_injectXListXa_bXcX_replaceXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Replace("a", "b")}}, 
+               {"g_injectXListXa_bXcX_replaceXa_bX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", "b" }).Replace("a", "b")}}, 
                {"g_V_hasLabelXsoftwareX_valueXnameX_replaceXnull_iX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Values<object>("name").Replace(null, "g")}}, 
                {"g_V_hasLabelXsoftwareX_valueXnameX_replaceXa_iX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Values<object>("name").Replace("p", "g")}}, 
                {"g_V_hasLabelXsoftwareX_valueXnameX_order_fold_replaceXloacl_a_iX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("software").Values<object>("name").Order().Fold().Replace<object>(Scope.Local, "p", "g")}}, 
@@ -1382,8 +1382,8 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_sumXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap<object>("a").Sum<object>(Scope.Local)}}, 
                {"g_V_aggregateXaX_byXfooX_capXaX_unfold_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Aggregate("a").By("foo").Cap<object>("a").Unfold<object>().Sum<object>()}}, 
                {"g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap<object>("a").Unfold<object>().Sum<object>()}}, 
-               {"g_injectXnull_10_5_nullX_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null, p["xx1"], p["xx2"], null).Sum<object>()}}, 
-               {"g_injectXlistXnull_10_5_nullXX_sumXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Sum<object>(Scope.Local)}}, 
+               {"g_injectXnull_10_5_nullX_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null, 10, 5, null).Sum<object>()}}, 
+               {"g_injectXlistXnull_10_5_nullXX_sumXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { null, 10, 5, null }).Sum<object>(Scope.Local)}}, 
                {"g_VX1X_valuesXageX_sumXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Values<object>("age").Sum<object>(Scope.Local)}}, 
                {"g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_sumXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.Union<object>(__.Values<object>("age"), __.OutE().Values<object>("weight")).Fold()).Sum<object>(Scope.Local)}}, 
                {"g_V_age_injectX1000nX_sum", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("age").Inject(new BigInteger(1000)).Sum<object>()}}, 
@@ -1403,16 +1403,16 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_valuesXnameX_toLowerXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "MARKO").Property("age", 29).As("marko").AddV("person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV("software").Property("name", "LOP").Property("lang", "java").As("lop").AddV("person").Property("name", "JOSH").Property("age", 32).As("josh").AddV("software").Property("name", "RIPPLE").Property("lang" [...]
                {"g_V_valuesXnameX_order_fold_toLowerXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", "MARKO").Property("age", 29).As("marko").AddV("person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV("software").Property("name", "LOP").Property("lang", "java").As("lop").AddV("person").Property("name", "JOSH").Property("age", 32).As("josh").AddV("software").Property("name", "RIPPLE").Prop [...]
                {"g_injectXfeature_test_nullX_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("feature", "tESt", null).ToUpper()}}, 
-               {"g_injectXfeature_test_nullX_toUpperXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).ToUpper<object>(Scope.Local)}}, 
+               {"g_injectXfeature_test_nullX_toUpperXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "feature", "tESt", null }).ToUpper<object>(Scope.Local)}}, 
                {"g_injectXfeature_test_nullX_asString_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("feature", "tESt", null).AsString().ToUpper()}}, 
-               {"g_injectXListXa_bXX_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).ToUpper()}}, 
+               {"g_injectXListXa_bXX_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", "b" }).ToUpper()}}, 
                {"g_V_valuesXnameX_toUpper", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").ToUpper()}}, 
                {"g_V_valuesXnameX_toUpperXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").ToUpper<object>(Scope.Local)}}, 
                {"g_V_valuesXnameX_order_fold_toUpperXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>("name").Order().Fold().ToUpper<object>(Scope.Local)}}, 
                {"g_injectX__feature___test__nullX_trim", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>("  feature  ", " one test ", null, "", " ", " abc", "abc ", " abc ", "  ").Trim()}}, 
                {"g_injectX__feature___test__nullX_trimXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "  feature  ", " one test ", null, "", " ", " abc", "abc ", " abc ", "  " }).Trim<object>(Scope.Local)}}, 
-               {"g_injectXListXa_bXX_trim", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Trim()}}, 
-               {"g_injectXListX1_2XX_trimXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Trim<object>(Scope.Local)}}, 
+               {"g_injectXListXa_bXX_trim", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { "a", "b" }).Trim()}}, 
+               {"g_injectXListX1_2XX_trimXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { 1, 2 }).Trim<object>(Scope.Local)}}, 
                {"g_V_valuesXnameX_trim", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "   ripple   ").Property( [...]
                {"g_V_valuesXnameX_order_fold_trimXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "   rip [...]
                {"g_V_localXoutE_foldX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Local<object>(__.OutE().Fold()).Unfold<object>()}}, 
@@ -1481,12 +1481,12 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"InjectXnullX_lteXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null).Is(P.Lte(null))}}, 
                {"InjectXnullX_gtXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null).Is(P.Gt(null))}}, 
                {"InjectXnullX_gteXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null).Is(P.Gte(null))}}, 
-               {"InjectXNaNX_eqXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Eq(Double.NaN))}}, 
-               {"InjectXNaNX_neqXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Neq(Double.NaN))}}, 
-               {"InjectXNaNX_ltXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Lt(Double.NaN))}}, 
-               {"InjectXNaNX_lteXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Lte(Double.NaN))}}, 
-               {"InjectXNaNX_gtXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Gt(Double.NaN))}}, 
-               {"InjectXNaNX_gteXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Gte(Double.NaN))}}, 
+               {"InjectXNaNX_eqXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NaN).Is(P.Eq(Double.NaN))}}, 
+               {"InjectXNaNX_neqXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NaN).Is(P.Neq(Double.NaN))}}, 
+               {"InjectXNaNX_ltXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NaN).Is(P.Lt(Double.NaN))}}, 
+               {"InjectXNaNX_lteXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NaN).Is(P.Lte(Double.NaN))}}, 
+               {"InjectXNaNX_gtXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NaN).Is(P.Gt(Double.NaN))}}, 
+               {"InjectXNaNX_gteXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NaN).Is(P.Gte(Double.NaN))}}, 
                {"InjectX1dX_eqXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(1.0d).Is(P.Eq(Double.NaN))}}, 
                {"InjectX1dX_neqXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(1.0d).Is(P.Neq(Double.NaN))}}, 
                {"InjectX1dX_ltXNaNX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(1.0d).Is(P.Lt(Double.NaN))}}, 
@@ -1552,25 +1552,25 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"InjectX1dX_notXerrorX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(1d).Not(__.Is(P.Gt(Double.NaN)))}}, 
                {"InjectX1dX_notXisXeqXNaNXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(1d).Not(__.Is(P.Eq(Double.NaN)))}}, 
                {"InjectXInfX_eqXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.PositiveInfinity).Is(P.Eq(Double.PositiveInfinity))}}, 
-               {"InjectXInfArgX_eqXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Eq(Double.PositiveInfinity))}}, 
+               {"InjectXInfArgX_eqXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.PositiveInfinity).Is(P.Eq(Double.PositiveInfinity))}}, 
                {"InjectXInfX_neqXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.PositiveInfinity).Is(P.Neq(Double.PositiveInfinity))}}, 
-               {"InjectXInfArgX_neqXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Neq(Double.PositiveInfinity))}}, 
+               {"InjectXInfArgX_neqXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.PositiveInfinity).Is(P.Neq(Double.PositiveInfinity))}}, 
                {"InjectXNegInfX_eqXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NegativeInfinity).Is(P.Eq(Double.NegativeInfinity))}}, 
-               {"InjectXNegInfArgX_eqXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Eq(Double.NegativeInfinity))}}, 
+               {"InjectXNegInfArgX_eqXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NegativeInfinity).Is(P.Eq(Double.NegativeInfinity))}}, 
                {"InjectXNegInfX_neqXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NegativeInfinity).Is(P.Neq(Double.NegativeInfinity))}}, 
-               {"InjectXNegInfArgX_neqXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Is(P.Neq(Double.NegativeInfinity))}}, 
+               {"InjectXNegInfArgX_neqXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NegativeInfinity).Is(P.Neq(Double.NegativeInfinity))}}, 
                {"InjectXInfX_gtXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.PositiveInfinity).Is(P.Gt(Double.NegativeInfinity))}}, 
                {"InjectXInfX_ltXNegInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.PositiveInfinity).Is(P.Lt(Double.NegativeInfinity))}}, 
                {"InjectXNegInfX_ltXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NegativeInfinity).Is(P.Lt(Double.PositiveInfinity))}}, 
                {"InjectXNegInfX_gtXInfX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Double.NegativeInfinity).Is(P.Gt(Double.PositiveInfinity))}}, 
-               {"Primitives_Number_eqXbyteX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
-               {"Primitives_Number_eqXshortX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
-               {"Primitives_Number_eqXintX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
-               {"Primitives_Number_eqXlongX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
-               {"Primitives_Number_eqXbigintX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
-               {"Primitives_Number_eqXfloatX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
-               {"Primitives_Number_eqXdoubleX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
-               {"Primitives_Number_eqXbigdecimalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(p["xx1"]).Unfold<object>().Where(__.Is(p["xx2"]))}}, 
+               {"Primitives_Number_eqXbyteX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
+               {"Primitives_Number_eqXshortX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
+               {"Primitives_Number_eqXintX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
+               {"Primitives_Number_eqXlongX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
+               {"Primitives_Number_eqXbigintX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
+               {"Primitives_Number_eqXfloatX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
+               {"Primitives_Number_eqXdoubleX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
+               {"Primitives_Number_eqXbigdecimalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new List<object> { (byte) 1, (short) 1, 1, 1l, 1f, 1d, 1000, (decimal) 1, new BigInteger(1) }).Unfold<object>().Where(__.Is(p["xx1"]))}}, 
                {"g_V_values_order", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Values<object>().Order()}}, 
                {"g_V_properties_order", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Properties<object>().Order()}}, 
                {"g_V_properties_order_id", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Properties<object>().Order().Id()}}, 
@@ -1600,7 +1600,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_withStrategiesXProductiveByStrategyX_V_aggregateXlocal_xX_byXageX_capXxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ProductiveByStrategy()).V().Aggregate(Scope.Local, "x").By("age").Cap<object>("x")}}, 
                {"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["xx1"]).V().Both().Values<object>("name").Aggregate(Scope.Local, "a").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Values<object>("name").Aggregate(Scope.Local, "a").Cap<object>("a")}}, 
                {"g_withSideEffectXa_set_inlineX_V_both_name_aggregateXlocal_aX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", new HashSet<object> { "alice" }).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_aggregateXxX_byXvaluesXageX_isXgtX29XXX_capXxX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Aggregate("x").By(__.Values<object>("age").Is(P.Gt(29))).Cap<object>("x")}}, 
@@ -1628,10 +1628,10 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_withSideEffectXa_true_andX_V_constantXfalseX_aggregateXlocal_aX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", true, Operator.And).V().Constant<object>(false).Aggregate(Scope.Local, "a").Cap<object>("a")}}, 
                {"g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXaX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", true, Operator.Or).V().Constant<object>(false).Aggregate("a").Cap<object>("a")}}, 
                {"g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXlocal_aX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", true, Operator.Or).V().Constant<object>(false).Aggregate(Scope.Local, "a").Cap<object>("a")}}, 
-               {"g_withSideEffectXa_xx1_addAllX_V_aggregateXaX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", p["xx1"], Operator.AddAll).V().Aggregate("a").By("age").Cap<object>("a")}}, 
-               {"g_withSideEffectXa_xx1_addAllX_V_aggregateXlocal_aX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", p["xx1"], Operator.AddAll).V().Aggregate(Scope.Local, "a").By("age").Cap<object>("a")}}, 
-               {"g_withSideEffectXa_xx1_assignX_V_aggregateXaX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", p["xx1"], Operator.Assign).V().Aggregate("a").By("age").Cap<object>("a")}}, 
-               {"g_withSideEffectXa_xx1_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", p["xx1"], Operator.Assign).V().Order().By("age").Aggregate(Scope.Local, "a").By("age").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_1_2_3_addAllX_V_aggregateXaX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", new List<object> { 1, 2, 3 }, Operator.AddAll).V().Aggregate("a").By("age").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_1_2_3_addAllX_V_aggregateXlocal_aX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", new List<object> { 1, 2, 3 }, Operator.AddAll).V().Aggregate(Scope.Local, "a").By("age").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_1_2_3_assignX_V_aggregateXaX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", new List<object> { 1, 2, 3 }, Operator.Assign).V().Aggregate("a").By("age").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_1_2_3_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", new List<object> { 1, 2, 3 }, Operator.Assign).V().Order().By("age").Aggregate(Scope.Local, "a").By("age").Cap<object>("a")}}, 
                {"g_V_fail", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fail()}}, 
                {"g_V_failXmsgX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Fail("msg")}}, 
                {"g_V_unionXout_failX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Union<object>(__.Out(), __.Fail())}}, 
@@ -1681,7 +1681,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"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>(__.Length()).Path()}}, 
                {"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<object>(p["xx1"]).Select<object>("name", "age")}}, 
+               {"g_injectXname_marko_age_nullX_selectXname_ageX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(new Dictionary<object, object> {{ "name", "marko" }, { "age", null }}).Select<object>("name", "age")}}, 
                {"g_injectXnull_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null, null)}}, 
                {"g_injectXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(null)}}, 
                {"g_inject", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>()}}, 
@@ -1726,7 +1726,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(1.0d, Operator.Sum).V(p["vid1"]).Local<object>(__.Out("knows").Barrier(Barrier.NormSack)).In("knows").Barrier().Sack<object>()}}, 
                {"g_V_sackXassignX_byXageX_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Sack(Operator.Assign).By("age").Sack<object>()}}, 
                {"g_withSackXBigInteger_TEN_powX1000X_assignX_V_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(p["xx1"], Operator.Assign).V().Local<object>(__.Out("knows").Barrier(Barrier.NormSack)).In("knows").Barrier().Sack<object>()}}, 
-               {"g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(2).V().Sack(Operator.Div).By(__.Constant<object>(p["xx1"])).Sack<object>()}}, 
+               {"g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSack(2).V().Sack(Operator.Div).By(__.Constant<object>(4.0d)).Sack<object>()}}, 
                {"g_V_sackXassignX_byXageX_byXnameX_sack", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Sack(Operator.Assign).By("age").By("name").Sack<object>()}}, 
                {"g_V_sideEffectXidentityX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().SideEffect(__.Identity())}}, 
                {"g_V_sideEffectXidentity_valuesXnameXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().SideEffect(__.Identity().Values<object>("name"))}}, 
@@ -1756,7 +1756,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_V_groupXaX_by_byXout_label_tailX10X_foldX_capXaX_selectXvaluesX_unfold_orderXlocalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Group("a").By().By(__.Out().Label().Tail<object>(10).Fold()).Cap<object>("a").Select<object>(Column.Values).Unfold<object>().Order(Scope.Local)}}, 
                {"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["xx1"]).V().Both().Values<object>("name").Store("a").Cap<object>("a")}}, 
+               {"g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Both().Values<object>("name").Store("a").Cap<object>("a")}}, 
                {"g_withSideEffectXa_set_inlineX_V_both_name_storeXaX_capXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithSideEffect("a", new HashSet<object> { "alice" }).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")}}, 
                {"g_VX1X_outEXknowsX_subgraphXsgX_name_capXsgX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).OutE("knows").Subgraph("sg").Values<object>("name").Cap<object>("sg")}}, 
@@ -1776,12 +1776,17 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                {"g_injectXUUIDXXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Inject<object>(Guid.NewGuid())}}, 
             };
 
-        public static ITraversal UseTraversal(string scenarioName, GraphTraversalSource g, IDictionary<string, object> parameters)
+        public static ITraversal UseTraversal(string scenarioName, GraphTraversalSource g, IDictionary<string, object> parameters, IDictionary<string, object> sideEffects)
         {
             List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> list = _translationsForTestRun[scenarioName];
             Func<GraphTraversalSource, IDictionary<string, object>, ITraversal> f = list[0];
             list.RemoveAt(0);
-            return f.Invoke(g, parameters);
+            ITraversal traversal = f.Invoke(g, parameters);
+            foreach (var sideEffect in sideEffects)
+            {
+                traversal.Bytecode.AddSource("withSideEffect", sideEffect.Key, sideEffect.Value);
+            }
+            return traversal;
         }
     }
 }
diff --git a/gremlin-go/build/generate.groovy b/gremlin-go/build/generate.groovy
index 65897394cb..19660e8066 100644
--- a/gremlin-go/build/generate.groovy
+++ b/gremlin-go/build/generate.groovy
@@ -58,10 +58,11 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer ->
         '\n' +
         'import (\n' +
         '\t \"errors\"\n' +
-        '\t \"time\"\n' +
-        '\t \"math\"\n' +
         '\t \"github.com/apache/tinkerpop/gremlin-go/v3/driver\"\n' +
         '\t \"github.com/google/uuid\"\n' +
+        '\t \"math\"\n' +
+        '\t \"math/big\"\n' +
+        '\t \"time\"\n' +
         ')\n'
     )
 
@@ -71,7 +72,9 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer ->
         'var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal{'
     )
 
-    def staticTranslate = [:]
+    def staticTranslate = [
+    "g_withSackX2147483647iX_injectX0_5fX_sackXdivX_sack":"    \"g_withSackX2147483647iX_injectX0_5fX_sackXdivX_sack\": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int32(2147483647)).Inject(0.5).Sack(gremlingo.Operator.Div).Sack()}}, ", //Scenario fails due to floating point rounding error in Go if this is allowed to correctly translate to float32(0.5)
+    ]
 
     gremlins.each { k,v ->
         if (staticTranslate.containsKey(k)) {
@@ -114,11 +117,15 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer ->
     writer.writeLine('}\n')
 
     writer.writeLine(
-    '   func GetTraversal(scenarioName string, g *gremlingo.GraphTraversalSource, parameters map[string]interface{}) (*gremlingo.GraphTraversal, error) {\n' +
+    '   func GetTraversal(scenarioName string, g *gremlingo.GraphTraversalSource, parameters map[string]interface{}, sideEffects map[string]interface{}) (*gremlingo.GraphTraversal, error) {\n' +
     '       if traversalFns, ok := translationMap[scenarioName]; ok {\n' +
-    '           traversal := traversalFns[0]\n' +
+    '           traversalFn := traversalFns[0]\n' +
     '           translationMap[scenarioName] = traversalFns[1:]\n' +
-    '           return traversal(g, parameters), nil\n' +
+    '           traversal := traversalFn(g, parameters)\n' +
+    '           for key, value := range sideEffects {\n' +
+    '               traversal.Bytecode.AddSource("withSideEffect", key, value)\n' +
+    '           }\n' +
+    '           return traversal, nil\n' +
     '       } else {\n' +
     '           return nil, errors.New("scenario for traversal not recognized")\n' +
     '       }\n' +
diff --git a/gremlin-go/driver/cucumber/cucumberSteps_test.go b/gremlin-go/driver/cucumber/cucumberSteps_test.go
index d7144cb2a4..55ddfe207d 100644
--- a/gremlin-go/driver/cucumber/cucumberSteps_test.go
+++ b/gremlin-go/driver/cucumber/cucumberSteps_test.go
@@ -134,11 +134,20 @@ func toUuid(stringVal, graphName string) interface{} {
 // Parse numeric.
 func toNumeric(stringVal, graphName string) interface{} {
 	if strings.Contains(stringVal, ".") {
-		val, err := strconv.ParseFloat(stringVal, 64)
-		if err != nil {
-			return nil
+
+		if strings.Contains(stringVal, "f") || strings.Contains(stringVal, "F") {
+			val, err := strconv.ParseFloat(stringVal, 32)
+			if err != nil {
+				return nil
+			}
+			return float32(val)
+		} else {
+			val, err := strconv.ParseFloat(stringVal, 64)
+			if err != nil {
+				return nil
+			}
+			return val
 		}
-		return val
 	}
 	val, err := strconv.ParseInt(stringVal, 10, 64)
 	if err != nil {
@@ -448,7 +457,7 @@ func (tg *tinkerPopGraph) chooseGraph(graphName string) error {
 }
 
 func (tg *tinkerPopGraph) theGraphInitializerOf(arg1 *godog.DocString) error {
-	traversal, err := GetTraversal(tg.scenario.Name, tg.g, tg.parameters)
+	traversal, err := GetTraversal(tg.scenario.Name, tg.g, tg.parameters, tg.sideEffects)
 	if err != nil {
 		return err
 	}
@@ -479,7 +488,7 @@ func (tg *tinkerPopGraph) theResultShouldHaveACountOf(expectedCount int) error {
 }
 
 func (tg *tinkerPopGraph) theGraphShouldReturnForCountOf(expectedCount int, traversalText string) error {
-	traversal, err := GetTraversal(tg.scenario.Name, tg.g, tg.parameters)
+	traversal, err := GetTraversal(tg.scenario.Name, tg.g, tg.parameters, tg.sideEffects)
 	if err != nil {
 		return err
 	}
@@ -831,7 +840,7 @@ func makeSortedStringArrayFromSet(set *gremlingo.SimpleSet) []string {
 }
 
 func (tg *tinkerPopGraph) theTraversalOf(arg1 *godog.DocString) error {
-	traversal, err := GetTraversal(tg.scenario.Name, tg.g, tg.parameters)
+	traversal, err := GetTraversal(tg.scenario.Name, tg.g, tg.parameters, tg.sideEffects)
 	if err != nil {
 		return err
 	}
@@ -859,6 +868,14 @@ func (tg *tinkerPopGraph) usingTheParameterOfP(paramName, pVal, stringVal string
 	return nil
 }
 
+func (tg *tinkerPopGraph) usingTheSideEffectDefined(key string, value string) error {
+	if tg.graphName == "empty" {
+		tg.reloadEmptyData()
+	}
+	tg.sideEffects[key] = parseValue(strings.Replace(value, "\\\"", "\"", -1), tg.graphName)
+	return nil
+}
+
 func (tg *tinkerPopGraph) theTraversalWillRaiseAnError() error {
 	if _, ok := tg.error[true]; ok {
 		return nil
@@ -939,6 +956,7 @@ func InitializeScenario(ctx *godog.ScenarioContext) {
 	ctx.Step(`^the traversal of$`, tg.theTraversalOf)
 	ctx.Step(`^using the parameter (.+) defined as "(.+)"$`, tg.usingTheParameterDefined)
 	ctx.Step(`^using the parameter (.+) of P\.(.+)\("(.+)"\)$`, tg.usingTheParameterOfP)
+	ctx.Step(`^using the side effect (.+) defined as"(.+)"$`, tg.usingTheSideEffectDefined)
 	ctx.Step(`^the traversal will raise an error$`, tg.theTraversalWillRaiseAnError)
 	ctx.Step(`^the traversal will raise an error with message (\w+) text of "(.+)"$`, tg.theTraversalWillRaiseAnErrorWithMessageContainingTextOf)
 }
diff --git a/gremlin-go/driver/cucumber/cucumberWorld.go b/gremlin-go/driver/cucumber/cucumberWorld.go
index f0498d1536..541cf345b7 100644
--- a/gremlin-go/driver/cucumber/cucumberWorld.go
+++ b/gremlin-go/driver/cucumber/cucumberWorld.go
@@ -37,6 +37,7 @@ type CucumberWorld struct {
 	error        map[bool]string
 	graphDataMap map[string]*DataGraph
 	parameters   map[string]interface{}
+	sideEffects  map[string]interface{}
 }
 
 type DataGraph struct {
@@ -81,6 +82,7 @@ func NewCucumberWorld() *CucumberWorld {
 		error:        make(map[bool]string),
 		graphDataMap: make(map[string]*DataGraph),
 		parameters:   make(map[string]interface{}),
+		sideEffects:  make(map[string]interface{}),
 	}
 }
 
diff --git a/gremlin-go/driver/cucumber/gremlin.go b/gremlin-go/driver/cucumber/gremlin.go
index f5fa6c0eda..ced217cedd 100644
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@ -26,10 +26,11 @@ package gremlingo
 
 import (
 	 "errors"
-	 "time"
-	 "math"
 	 "github.com/apache/tinkerpop/gremlin-go/v3/driver"
 	 "github.com/google/uuid"
+	 "math"
+	 "math/big"
+	 "time"
 )
 
 var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal{
@@ -48,8 +49,8 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_chooseXoutXknowsX_count_isXgtX0XX__outXknowsXX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Choose(gremlingo.T__.Out("knows").Count().Is(gremlingo.P.Gt(0)), gremlingo.T__.Out("knows")).Values("name")}}, 
     "g_V_hasLabelXpersonX_asXp1X_chooseXoutEXknowsX__outXknowsXX_asXp2X_selectXp1_p2X_byXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").As("p1").Choose(gremlingo.T__.OutE("knows"), gremlingo.T__.Out("knows")).As("p2").Select("p1", "p2").By("name")}}, 
     "g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(p["xx1"], gremlingo.T__.Constant("young")).Option(gremlingo.Pick.None, gremlingo.T__.Constant("old")).GroupCount()}}, 
-    "g_injectX1X_chooseXisX1X__constantX10Xfold__foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx2"]).Choose(gremlingo.T__.Is(p["xx2"]), gremlingo.T__.Constant(p["xx1"]).Fold(), gremlingo.T__.Fold())}}, 
-    "g_injectX2X_chooseXisX1X__constantX10Xfold__foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx3"]).Choose(gremlingo.T__.Is(p["xx2"]), gremlingo.T__.Constant(p["xx1"]).Fold(), gremlingo.T__.Fold())}}, 
+    "g_injectX1X_chooseXisX1X__constantX10Xfold__foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int32(1)).Choose(gremlingo.T__.Is(p["xx1"]), gremlingo.T__.Constant(int32(10)).Fold(), gremlingo.T__.Fold())}}, 
+    "g_injectX2X_chooseXisX1X__constantX10Xfold__foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int32(2)).Choose(gremlingo.T__.Is(p["xx1"]), gremlingo.T__.Constant(int32(10)).Fold(), gremlingo.T__.Fold())}}, 
     "g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26, 30), gremlingo.T__.Constant("x")).Option(gremlingo.P.Between(20, 30), gremlingo.T__.Constant("y")).Option(gremlingo.Pick.None, gremlingo.T__.Constant("z"))}}, 
     "g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26, 30).Or(gremlingo.P.Gt(34)), gremlingo.T__.Constant("x")).Option(gremlingo.P.Gt(34), gremlingo.T__.Constant("y")).Option(gremlingo.Pick.None, gremlingo.T__ [...]
     "g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Choose(gremlingo.T__.Values("age")).Option(gremlingo.P.Between(26, 30), gremlingo.T__.Values("name")).Option(gremlingo.Pick.None, gremlingo.T__.Values("name"))}}, 
@@ -125,7 +126,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_unionXV_out_out_V_hasLabelXsoftwareXX_path_byXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Union(gremlingo.T__.V().Out().Out(), gremlingo.T__.V().HasLabel("software")).Path().By("name")}}, 
     "g_unionXunionXV_out_outX_V_hasLabelXsoftwareXX_path_byXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Union(gremlingo.T__.Union(gremlingo.T__.V().Out().Out()), gremlingo.T__.V().HasLabel("software")).Path().By("name")}}, 
     "g_unionXinjectX1X_injectX2X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Union(gremlingo.T__.Inject(1), gremlingo.T__.Inject(2))}}, 
-    "g_V_unionXconstantX1X_constantX2X_constantX3XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid2"]).Union(gremlingo.T__.Constant(p["xx1"]), gremlingo.T__.Constant(p["xx2"]), gremlingo.T__.Constant(p["xx3"]))}}, 
+    "g_V_unionXconstantX1X_constantX2X_constantX3XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid2"]).Union(gremlingo.T__.Constant(int32(1)), gremlingo.T__.Constant(int32(2)), gremlingo.T__.Constant(int32(3)))}}, 
     "g_V_unionXout__inX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Union(gremlingo.T__.Out(), gremlingo.T__.In()).Values("name")}}, 
     "g_VX1X_unionXrepeatXoutX_timesX2X__outX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Union(gremlingo.T__.Repeat(gremlingo.T__.Out()).Times(2), gremlingo.T__.Out()).Values("name")}}, 
     "g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Choose(gremlingo.T__.Label().Is("person"), gremlingo.T__.Union(gremlingo.T__.Out().Values("lang"), gremlingo.T__.Out().Values("name")), gremlingo.T__.In().Label())}}, 
@@ -394,13 +395,13 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("age").As("a").Out().In().Has("age").As("b").Select("a", "b").Where(gremlingo.T__.As("b").Has("name", "marko"))}}, 
     "g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("age").As("a").Out().In().Has("age").As("b").Select("a", "b").Where(gremlingo.T__.As("a").Out("knows").As("b"))}}, 
     "g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("a").Out("created").Where(gremlingo.T__.As("a").Values("name").Is("josh")).In("created").Values("name")}}, 
-    "g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"]).V(p["vid1"]).Out("created").In("created").Values("name").Where(gremlingo.P.Within("a"))}}, 
+    "g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", []interface{}{"josh", "peter"}).V(p["vid1"]).Out("created").In("created").Values("name").Where(gremlingo.P.Within("a"))}}, 
     "g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).As("a").Out("created").In("created").As("b").Where("a", gremlingo.P.Neq("b")).Values("name")}}, 
     "g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).As("a").Out("created").In("created").As("b").Where(gremlingo.T__.As("b").Out("created").Has("name", "ripple")).Values("age", "name")}}, 
     "g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).As("a").Out("created").In("created").Where(gremlingo.P.Eq("a")).Values("name")}}, 
     "g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).As("a").Out("created").In("created").Where(gremlingo.P.Neq("a")).Values("name")}}, 
     "g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Out().Aggregate("x").Out().Where(gremlingo.P.Not(gremlingo.P.Within("x")))}}, 
-    "g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["vid2"]).V(p["vid1"]).Out().Where(gremlingo.T__.Id().Where(gremlingo.P.Neq("a")))}}, 
+    "g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Out().Where(gremlingo.T__.Id().Where(gremlingo.P.Neq("a")))}}, 
     "g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Repeat(gremlingo.T__.BothE("created").Where(gremlingo.P.Without("e")).Aggregate("e").OtherV()).Emit().Path()}}, 
     "g_V_whereXnotXoutXcreatedXXX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Where(gremlingo.T__.Not(gremlingo.T__.Out("created"))).Values("name")}}, 
     "g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_selectXa_bX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("a").Out().As("b").Where(gremlingo.T__.And(gremlingo.T__.As("a").Out("knows").As("b"), gremlingo.T__.Or(gremlingo.T__.As("b").Out("created").Has("name", "ripple"), gremlingo.T__.As("b").In("knows").Count().Is(gremlingo.P.Not(greml [...]
@@ -462,7 +463,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_withoutStrategiesXMatchPredicateStrategyX_V_matchXa_created_lop_b__b_0created_29_cX_whereXc_repeatXoutX_timesX2XX_selectXa_b_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithoutStrategies(gremlingo.MatchPredicateStrategy()).V().Match(gremlingo.T__.As("a").Out("created").Has("name", "lop").As("b"), gremlingo.T__.As("b").In("created").Has("age", 29).As("c")).Where(gremlingo.T__.As("c").Repeat(gremlingo.T__.Out()).Times(2 [...]
     "g_withStrategiesXMessagePassingReductionStrategyX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.MessagePassingReductionStrategy()).V()}}, 
     "g_withoutStrategiesXMessagePassingReductionStrategyX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithoutStrategies(gremlingo.MessagePassingReductionStrategy()).V()}}, 
-    "g_V_coworker": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).Aggregate("p").As("p1").Values("name").As("p1n").Select("p").Unfold().Where(gremlingo.P.Neq("p1")).As("p2").Values("name").As("p2n").Select("p2").Out("created").Choose(gremlingo.T__.In("created").Where(gremlingo.P.Eq("p1")), gremlingo.T__.Values("name"), gremlingo.T__.Constant(p["xx1"])).Group().By(gremling [...]
+    "g_V_coworker": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).Aggregate("p").As("p1").Values("name").As("p1n").Select("p").Unfold().Where(gremlingo.P.Neq("p1")).As("p2").Values("name").As("p2n").Select("p2").Out("created").Choose(gremlingo.T__.In("created").Where(gremlingo.P.Eq("p1")), gremlingo.T__.Values("name"), gremlingo.T__.Constant([]interface{}{})).Group().By(g [...]
     "g_V_coworker_with_midV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).As("p1").V().HasLabel("person").Where(gremlingo.P.Neq("p1")).Filter(gremlingo.T__.OutE("created")).As("p2").Map(gremlingo.T__.Out("created").Where(gremlingo.T__.In("created").As("p1")).Values("name").Fold()).Group().By(gremlingo.T__.Select("p1").By("name")).By(gremlingo.T__.Group().By(gremlingo.T_ [...]
     "g_withStrategiesXOptionsStrategyX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.OptionsStrategy()).V()}}, 
     "g_withStrategiesXOptionsStrategyXmyVar_myValueXX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.OptionsStrategy(map[string]interface{}{"myVar": "myValue"})).V()}}, 
@@ -594,7 +595,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("s [...]
     "g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age [...]
     "g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").Ad [...]
-    "g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Proper [...]
+    "g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Proper [...]
     "g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV().As("first").Repeat(gremlingo.T__.AddE("next").To(gremlingo.T__.AddV()).InV()).Times(5).AddE("next").To(gremlingo.T__.Select("first"))}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g *gremlingo.GraphTraversalSource, p ma [...]
     "g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("softw [...]
     "g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("n [...]
@@ -714,8 +715,8 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_injectXa_bX_concat_XcX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("a", "b").Concat("c")}}, 
     "g_injectXa_bX_concat_Xc_dX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("a", "b").Concat("c", "d")}}, 
     "g_injectXa_bX_concat_Xinject_c_dX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("a", "b").Concat(gremlingo.T__.Inject("c"))}}, 
-    "g_injectXaX_concat_Xinject_List_b_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("a").Concat(gremlingo.T__.Inject(p["xx1"]))}}, 
-    "g_injectXListXa_bXcX_concat_XdX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"], "c").Concat("d")}}, 
+    "g_injectXaX_concat_Xinject_List_b_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("a").Concat(gremlingo.T__.Inject([]interface{}{"b", "c"}))}}, 
+    "g_injectXListXa_bXcX_concat_XdX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", "b"}, "c").Concat("d")}}, 
     "g_injectXnullX_concat_XinjectX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil).Concat()}}, 
     "g_injectXnull_aX_concat_Xnull_bX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil, "a").Concat(nil, "b")}}, 
     "g_injectXhello_hiX_concat_XV_valuesXnameXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("hello", "hi").Concat(gremlingo.T__.V().Order().By(gremlingo.T.Id).Values("name"))}}, 
@@ -731,11 +732,11 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnameX_order_fold_conjoinX_X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Order().Fold().Conjoin("_")}}, 
     "g_V_valuesXageX_order_fold_conjoinX_X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Order().Fold().Conjoin(";")}}, 
     "g_V_out_path_byXvaluesXnameX_toUpperX_conjoinXMARKOX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Conjoin("MARKO")}}, 
-    "g_injectXmarkoX_conjoinX_X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Conjoin("-")}}, 
+    "g_injectXmarkoX_conjoinX_X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"marko"}).Conjoin("-")}}, 
     "g_V_valueMapXlocationX_selectXvaluesX_unfold_orderXlocalX_conjoinX1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Order(gremlingo.Scope.Local).Conjoin("1")}}, 
     "g_V_out_out_path_byXnameX_conjoinXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Conjoin("")}}, 
-    "g_injectXa_null_bX_conjoinXxyzX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Conjoin("xyz")}}, 
-    "g_injectX3_threeX_conjoinX_X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Conjoin(";")}}, 
+    "g_injectXa_null_bX_conjoinXxyzX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", nil, "b"}).Conjoin("xyz")}}, 
+    "g_injectX3_threeX_conjoinX_X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int32(3), "three"}).Conjoin(";")}}, 
     "g_V_connectedComponent_hasXcomponentX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ConnectedComponent().Has("gremlin.connectedComponentVertexProgram.component")}}, 
     "g_V_dedup_connectedComponent_hasXcomponentX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Dedup().ConnectedComponent().Has("gremlin.connectedComponentVertexProgram.component")}}, 
     "g_V_hasLabelXsoftwareX_connectedComponent_project_byXnameX_byXcomponentX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").ConnectedComponent().Project("name", "component").By("name").By("gremlin.connectedComponentVertexProgram.component")}}, 
@@ -776,13 +777,13 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnonexistantX_fold_differenceXV_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("nonexistant").Fold().Difference(gremlingo.T__.V().Values("name").Fold())}}, 
     "g_V_valuesXnameX_fold_differenceXV_valuesXnonexistantX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Fold().Difference(gremlingo.T__.V().Values("nonexistant").Fold())}}, 
     "g_V_valuesXageX_fold_differenceXV_valuesXageX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Fold().Difference(gremlingo.T__.V().Values("age").Fold())}}, 
-    "g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Difference(p["xx1"])}}, 
-    "g_injectXmarkoX_differenceXV_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Difference(gremlingo.T__.V().Values("name").Fold())}}, 
-    "g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Difference(p["xx1"])}}, 
-    "g_V_out_out_path_byXnameX_differenceXrippleX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Difference(p["xx1"])}}, 
-    "g_V_out_out_path_byXnameX_differenceXempty_listX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Difference(p["xx1"])}}, 
+    "g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Difference([]interface{}{"MARKO"})}}, 
+    "g_injectXmarkoX_differenceXV_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"marko"}).Difference(gremlingo.T__.V().Values("name").Fold())}}, 
+    "g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Difference([]interface{}{"seattle", "vancouver"})}}, 
+    "g_V_out_out_path_byXnameX_differenceXrippleX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Difference([]interface{}{"ripple"})}}, 
+    "g_V_out_out_path_byXnameX_differenceXempty_listX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Difference([]interface{}{})}}, 
     "g_V_valuesXageX_fold_differenceXconstantX27X_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Fold().Difference(gremlingo.T__.Constant(27).Fold())}}, 
-    "g_V_out_out_path_byXnameX_differenceXdave_kelvinX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Difference(p["xx1"])}}, 
+    "g_V_out_out_path_byXnameX_differenceXdave_kelvinX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Difference([]interface{}{"dave", "kelvin"})}}, 
     "g_injectXa_null_bX_differenceXa_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Difference(p["xx2"])}}, 
     "g_injectXa_null_bX_differenceXa_null_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Difference(p["xx2"])}}, 
     "g_injectX3_threeX_differenceXfive_three_7X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Difference(p["xx2"])}}, 
@@ -795,14 +796,14 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnonexistantX_fold_disjunctXV_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("nonexistant").Fold().Disjunct(gremlingo.T__.V().Values("name").Fold())}}, 
     "g_V_valuesXnameX_fold_disjunctXV_valuesXnonexistantX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Fold().Disjunct(gremlingo.T__.V().Values("nonexistant").Fold())}}, 
     "g_V_valuesXageX_fold_disjunctXV_valuesXageX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Fold().Disjunct(gremlingo.T__.V().Values("age").Fold())}}, 
-    "g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Disjunct(p["xx1"])}}, 
-    "g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Disjunct(p["xx1"])}}, 
-    "g_V_out_out_path_byXnameX_disjunctXmarkoX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Disjunct(p["xx1"])}}, 
-    "g_V_out_out_path_byXnameX_disjunctXstephen_markoX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Disjunct(p["xx1"])}}, 
-    "g_V_out_out_path_byXnameX_disjunctXdave_kelvinX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Disjunct(p["xx1"])}}, 
-    "g_injectXa_null_bX_disjunctXa_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Disjunct(p["xx2"])}}, 
-    "g_injectXa_null_bX_disjunctXa_null_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Disjunct(p["xx2"])}}, 
-    "g_injectX3_threeX_disjunctXfive_three_7X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Disjunct(p["xx2"])}}, 
+    "g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Disjunct([]interface{}{"MARKO"})}}, 
+    "g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Disjunct([]interface{}{"seattle", "vancouver"})}}, 
+    "g_V_out_out_path_byXnameX_disjunctXmarkoX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Disjunct([]interface{}{"marko"})}}, 
+    "g_V_out_out_path_byXnameX_disjunctXstephen_markoX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Disjunct([]interface{}{"stephen", "marko"})}}, 
+    "g_V_out_out_path_byXnameX_disjunctXdave_kelvinX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Disjunct([]interface{}{"dave", "kelvin"})}}, 
+    "g_injectXa_null_bX_disjunctXa_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", nil, "b"}).Disjunct([]interface{}{"a", "c"})}}, 
+    "g_injectXa_null_bX_disjunctXa_null_cX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", nil, "b"}).Disjunct([]interface{}{"a", nil, "c"})}}, 
+    "g_injectX3_threeX_disjunctXfive_three_7X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int32(3), "three"}).Disjunct([]interface{}{"five", "three", int32(7)})}}, 
     "g_E": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.E()}}, 
     "g_EX11X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.E(p["eid11"])}}, 
     "g_EX11AsStringX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.E(p["eid11"])}}, 
@@ -861,7 +862,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnonexistantX_fold_intersectXV_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("nonexistant").Fold().Intersect(gremlingo.T__.V().Values("name").Fold())}}, 
     "g_V_valuesXnameX_fold_intersectXV_valuesXnonexistantX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Fold().Intersect(gremlingo.T__.V().Values("nonexistant").Fold())}}, 
     "g_V_valuesXageX_fold_intersectXV_valuesXageX_foldX_order_local": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Fold().Intersect(gremlingo.T__.V().Values("age").Fold()).Order(gremlingo.Scope.Local)}}, 
-    "g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Intersect(p["xx1"])}}, 
+    "g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Intersect([]interface{}{"MARKO"})}}, 
     "g_injectXmarkoX_intersectX___V_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Intersect(gremlingo.T__.V().Values("name").Fold())}}, 
     "g_V_valueMapXlocationX_selectXvaluesX_unfold_intersectXseattle_vancouverX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Intersect(p["xx1"])}}, 
     "g_V_valuesXageX_fold_intersectX___constantX27X_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Fold().Intersect(gremlingo.T__.Constant(27).Fold())}}, 
@@ -878,7 +879,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnameX_order_fold_lTrimXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "    [...]
     "g_injectXfeature_test_nullX_length": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("feature", "test", nil).Length()}}, 
     "g_injectXfeature_test_nullX_lengthXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("feature", "test", nil).Length(gremlingo.Scope.Local)}}, 
-    "g_injectXListXa_bXX_length": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Length()}}, 
+    "g_injectXListXa_bXX_length": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", "b"}).Length()}}, 
     "g_V_valuesXnameX_length": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Length()}}, 
     "g_V_valuesXnameX_order_fold_lengthXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Order().Fold().Length(gremlingo.Scope.Local)}}, 
     "g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Repeat(gremlingo.T__.Both().SimplePath()).Until(gremlingo.T__.Has("name", "peter").Or().Loops().Is(3)).Has("name", "peter").Path().By("name")}}, 
@@ -930,7 +931,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_outE_mathX0_minus_itX_byXweightX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().OutE().Math("0-_").By("weight")}}, 
     "g_V_hasXageX_valueMap_mathXit_plus_itXbyXselectXageX_unfoldXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("age").ValueMap().Math("_+_").By(gremlingo.T__.Select("age").Unfold())}}, 
     "g_V_asXaX_outXknowsX_asXbX_mathXa_plus_bX_byXageX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("a").Out("knows").As("b").Math("a + b").By("age")}}, 
-    "g_withSideEffectXx_100X_V_age_mathX__plus_xX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("x", p["xx1"]).V().Values("age").Math("_ + x")}}, 
+    "g_withSideEffectXx_100X_V_age_mathX__plus_xX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("x", int32(100)).V().Values("age").Math("_ + x")}}, 
     "g_V_asXaX_outXcreatedX_asXbX_mathXb_plus_aX_byXinXcreatedX_countX_byXageX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("a").Out("created").As("b").Math("b + a").By(gremlingo.T__.In("created").Count()).By("age")}}, 
     "g_withSackX1X_injectX1X_repeatXsackXsumX_byXconstantX1XXX_timesX5X_emit_mathXsin__X_byXsackX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(1).Inject(1).Repeat(gremlingo.T__.Sack(gremlingo.Operator.Sum).By(gremlingo.T__.Constant(1))).Times(5).Emit().Math("sin _").By(gremlingo.T__.Sack())}}, 
     "g_V_projectXa_b_cX_byXbothE_weight_sumX_byXbothE_countX_byXnameX_order_byXmathXa_div_bX_descX_selectXcX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Project("a", "b", "c").By(gremlingo.T__.BothE().Values("weight").Sum()).By(gremlingo.T__.BothE().Count()).By("name").Order().By(gremlingo.T__.Math("a / b"), gremlingo.Order.Desc).Select("c")}}, 
@@ -968,8 +969,8 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_meanXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap("a").Mean(gremlingo.Scope.Local)}}, 
     "g_V_aggregateXaX_byXfooX_capXaX_unfold_mean": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Aggregate("a").By("foo").Cap("a").Unfold().Mean()}}, 
     "g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_mean": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap("a").Unfold().Mean()}}, 
-    "g_injectXnull_10_20_nullX_mean": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil, p["xx1"], p["xx2"], nil).Mean()}}, 
-    "g_injectXlistXnull_10_20_nullXX_meanXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Mean(gremlingo.Scope.Local)}}, 
+    "g_injectXnull_10_20_nullX_mean": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil, 10, 20, nil).Mean()}}, 
+    "g_injectXlistXnull_10_20_nullXX_meanXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{nil, 10, 20, nil}).Mean(gremlingo.Scope.Local)}}, 
     "g_VX1X_valuesXageX_meanXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Values("age").Mean(gremlingo.Scope.Local)}}, 
     "g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_meanXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Local(gremlingo.T__.Union(gremlingo.T__.Values("age"), gremlingo.T__.OutE().Values("weight")).Fold()).Mean(gremlingo.Scope.Local)}}, 
     "g_injectXnullX_mergeXinjectX1XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil).Merge(gremlingo.T__.Inject(1))}}, 
@@ -978,7 +979,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_fold_mergeXVX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Fold().Merge(gremlingo.T__.V())}}, 
     "g_V_elementMap_mergeXconstantXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ElementMap().Merge(gremlingo.T__.Constant("a"))}}, 
     "g_V_fold_mergeXV_asXaX_projectXaX_byXnameXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Fold().Merge(gremlingo.T__.V().As("a").Project("a").By("name"))}}, 
-    "g_V_fold_mergeXk_vX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Fold().Merge(p["xx1"])}}, 
+    "g_V_fold_mergeXk_vX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Fold().Merge(map[interface{}]interface{}{"k": "v" })}}, 
     "g_V_valuesXnameX_fold_mergeX2X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Fold().Merge(2)}}, 
     "g_V_valuesXnameX_fold_mergeXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Fold().Merge(nil)}}, 
     "g_V_valuesXnonexistantX_fold_mergeXV_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("nonexistant").Fold().Merge(gremlingo.T__.V().Values("name").Fold())}}, 
@@ -1004,7 +1005,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_mergeEXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(nil)}}, 
     "g_V_mergeEXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().MergeE(nil)}}, 
     "g_mergeEXlabel_knows_out_marko_in_vadasX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "marko") [...]
-    "g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"]).MergeE(gremlingo.T__.Select("a"))}, func(g *gremlingo.GraphTraversalSource, p map[string]interfac [...]
+    "g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(gremlingo.T__.Select("a"))}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal [...]
     "g_mergeEXlabel_knows_out_marko1_in_vadas1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "marko [...]
     "g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X_exists": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *grem [...]
     "g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"])}}, 
@@ -1017,12 +1018,12 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_mergeEXlabel_knows_out_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b").Property("created", "Y").AddE("knows").From("b").To("a").Property("created", "Y")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *g [...]
     "g_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b").Property("created", "Y").AddE("knows").From("b").To("a").Property("created", "Y")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.Gra [...]
     "g_V_hasXperson_name_marko_X_mergeEXlabel_self_out_vadas1_in_vadas1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "marko").MergeE(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlin [...]
-    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {re [...]
-    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("c", p["xx2"]).Wi [...]
-    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("c", p["xx2"]). [...]
+    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").From("a").To("b")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {re [...]
+    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"]).Option(gremling [...]
+    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"]).Option(gremli [...]
     "g_mergeEXlabel_knows_out_marko_in_vadasX_aliased_direction": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person" [...]
     "g_injectXlabel_knows_out_marko_in_vadas_label_self_out_vadas_in_vadasX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"], p["xx2"]).MergeE()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTrave [...]
-    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").Property("weight", 1.0).From("a").To("b")}, func(g *gremlingo.GraphTraversalSou [...]
+    "g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").As("a").AddV("person").Property("name", "vadas").As("b").AddE("knows").Property("weight", 1.0).From("a").To("b")}, func(g *gremlingo.GraphTraversalSou [...]
     "g_mergeE_with_outVinV_options_map": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"]).Option(gremlingo.Merge.OutV, p["xx2"]).Option(gremlingo.Merge.InV, p["xx3"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{})  [...]
     "g_mergeE_with_outVinV_options_select": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).As("x").V(p["vid2"]).As("y").MergeE(p["xx1"]).Option(gremlingo.Merge.OutV, gremlingo.T__.Select("x")).Option(gremlingo.Merge.InV, gremlingo.T__.Se [...]
     "g_mergeE_with_eid_specified_and_inheritance_1": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").AddV("person").Property("name", "vadas")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeE(p["xx1"]).Option(gremlingo.Merge.OnCreate, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraver [...]
@@ -1058,23 +1059,23 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_mergeVXlabel_person_name_markoX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "marko")}}, 
     "g_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Option(gremlingo.Merge.OnCreate, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface [...]
     "g_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Option(gremlingo.Merge.OnMatch, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal  [...]
-    "g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).MergeV(g [...]
-    "g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).MergeV(gremlingo.T__.Select("c")).Opt [...]
+    "g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(gremlingo.T__.Select("c")).Option(gremlingo.Merge.OnCreate, g [...]
+    "g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(gremlingo.T__.Select("c")).Option(gremlingo.Merge.OnMatch, gremlingo.T__.Select("m"))}, fu [...]
     "g_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Property("name", "vadas", "acl", "public")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTravers [...]
     "g_injectX0X_mergeVXlabel_person_name_stephenX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(0).MergeV(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "stephen")}}, 
     "g_injectX0X_mergeVXlabel_person_name_markoX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(0).MergeV(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "marko")}}, 
     "g_injectX0X_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(0).MergeV(p["xx1"]).Option(gremlingo.Merge.OnCreate, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p  [...]
     "g_injectX0X_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(0).MergeV(p["xx1"]).Option(gremlingo.Merge.OnMatch, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *greml [...]
-    "g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"] [...]
-    "g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("c", p["xx1"]).WithSideEffect("m", p["xx2"]).Inject(0).MergeV(gremlingo. [...]
+    "g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(0).MergeV(gremlingo.T__.Select("c")).Option(gremlin [...]
+    "g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(0).MergeV(gremlingo.T__.Select("c")).Option(gremlingo.Merge.OnMatch, gremlingo.T [...]
     "g_injectX0X_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(0).MergeV(p["xx1"]).Property("name", "vadas", "acl", "public")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gr [...]
     "g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeVXidentityX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"], p["xx2"]).MergeV(gremlingo.T__.Identity())}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.G [...]
     "g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"], p["xx2"]).MergeV()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("p [...]
     "g_mergeVXlabel_person_name_stephenX_propertyXlist_name_steveX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.Cardinality.List, "name", "stephen")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Property(gremlingo.Cardinality.List, "name", "steve")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *greml [...]
     "g_mergeXlabel_person_name_vadasX_optionXonMatch_age_35X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "vadas").Property("age", 29).AddV("person").Property("name", "vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Option(gremlingo.Merge.OnMatch, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, [...]
     "g_V_mapXmergeXlabel_person_name_joshXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "vadas").Property("age", 29).AddV("person").Property("name", "stephen").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Map(gremlingo.T__.MergeV(p["xx1"]))}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremli [...]
-    "g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property(gremlingo.Cardinality.List, "age", 29).Property(gremlingo.Cardinality.List, "age", 31).Property(gremlingo.Cardinality.List, "age", 32)}, func(g *gremlingo.GraphTraversalSource, p  [...]
-    "g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property(gremlingo.Cardinality.List, "age", 29).Property(gremlingo.Cardinality.List, "age", 31).Property(gremlingo.Cardinality.List, "age", 32)}, func(g *gremlingo.GraphTraversalSource, p map[string]interf [...]
+    "g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property(gremlingo.Cardinality.List, "age", 29).Property(gremlingo.Cardinality.List, "age", 31).Property(gremlingo.Cardinality.List, "age", 32)}, func(g *gremlingo.GraphTraversalSource, p  [...]
+    "g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property(gremlingo.Cardinality.List, "age", 29).Property(gremlingo.Cardinality.List, "age", 31).Property(gremlingo.Cardinality.List, "age", 32)}, func(g *gremlingo.GraphTraversalSource, p map[string]interf [...]
     "g_mergeV_onCreate_inheritance_existing": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "mike").Property(gremlingo.T.Id, "1")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Option(gremlingo.Merge.OnCreate, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, [...]
     "g_mergeV_onCreate_inheritance_new_1": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Option(gremlingo.Merge.OnCreate, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V("1").Has("person", "name", "mike")}}, 
     "g_mergeV_onCreate_inheritance_new_2": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.MergeV(p["xx1"]).Option(gremlingo.Merge.OnCreate, p["xx2"])}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V("1").Has("person", "name", "mike")}}, 
@@ -1119,7 +1120,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_name_fold_minXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Fold().Min(gremlingo.Scope.Local)}}, 
     "g_V_repeatXbothX_timesX5X_age_min": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Repeat(gremlingo.T__.Both()).Times(5).Values("age").Min()}}, 
     "g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").Group().By("name").By(gremlingo.T__.BothE().Values("weight").Min())}}, 
-    "g_V_foo_injectX9999999999X_min": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("foo").Inject(p["xx1"]).Min()}}, 
+    "g_V_foo_injectX9999999999X_min": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("foo").Inject(int64(9999999999)).Min()}}, 
     "g_VX1X_valuesXageX_minXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Values("age").Min(gremlingo.Scope.Local)}}, 
     "g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_minXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Local(gremlingo.T__.Union(gremlingo.T__.Values("age"), gremlingo.T__.OutE().Values("weight")).Fold()).Min(gremlingo.Scope.Local)}}, 
     "g_V_name_order": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Order()}}, 
@@ -1180,14 +1181,14 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnonexistantX_fold_productXV_valuesXnameX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("nonexistant").Fold().Product(gremlingo.T__.V().Values("name").Fold())}}, 
     "g_V_valuesXnameX_fold_productXV_valuesXnonexistantX_foldX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Fold().Product(gremlingo.T__.V().Values("nonexistant").Fold())}}, 
     "g_V_valuesXageX_order_byXdescX_limitX3X_fold_productXV_valuesXageX_order_byXascX_limitX2X_foldX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Order().By(gremlingo.Order.Desc).Limit(3).Fold().Product(gremlingo.T__.V().Values("age").Order().By(gremlingo.Order.Asc).Limit(2).Fold()).Unfold()}}, 
-    "g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Product(p["xx1"]).Unfold()}}, 
-    "g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Product(gremlingo.T__.V().Values("name").Order().Fold()).Unfold()}}, 
-    "g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Product(p["xx1"]).Unfold()}}, 
+    "g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Path().By(gremlingo.T__.Values("name").ToUpper()).Product([]interface{}{"MARKO"}).Unfold()}}, 
+    "g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"marko"}).Product(gremlingo.T__.V().Values("name").Order().Fold()).Unfold()}}, 
+    "g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap("location").Select(gremlingo.Column.Values).Unfold().Product([]interface{}{"dulles", "seattle", "vancouver"}).Unfold()}}, 
     "g_V_valuesXageX_order_byXascX_fold_productXconstantX27X_foldX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Order().By(gremlingo.Order.Asc).Fold().Product(gremlingo.T__.Constant(27).Fold()).Unfold()}}, 
-    "g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Product(p["xx1"]).Unfold()}}, 
-    "g_injectXa_null_bX_productXa_cX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Product(p["xx2"]).Unfold()}}, 
-    "g_injectXa_null_bX_productXa_null_cX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Product(p["xx2"]).Unfold()}}, 
-    "g_injectX3_threeX_productXfive_three_7X_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Product(p["xx2"]).Unfold()}}, 
+    "g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out().Out().Path().By("name").Product([]interface{}{"dave", "kelvin"}).Unfold()}}, 
+    "g_injectXa_null_bX_productXa_cX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", nil, "b"}).Product([]interface{}{"a", "c"}).Unfold()}}, 
+    "g_injectXa_null_bX_productXa_null_cX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", nil, "b"}).Product([]interface{}{"a", nil, "c"}).Unfold()}}, 
+    "g_injectX3_threeX_productXfive_three_7X_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int32(3), "three"}).Product([]interface{}{"five", "three", int32(7)}).Unfold()}}, 
     "g_V_hasLabelXpersonX_projectXa_bX_byXoutE_countX_byXageX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Project("a", "b").By(gremlingo.T__.OutE().Count()).By("age")}}, 
     "g_V_outXcreatedX_projectXa_bX_byXnameX_byXinXcreatedX_countX_order_byXselectXbX__descX_selectXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Out("created").Project("a", "b").By("name").By(gremlingo.T__.In("created").Count()).Order().By(gremlingo.T__.Select("b"), gremlingo.Order.Desc).Select("a")}}, 
     "g_V_valueMap_projectXxX_byXselectXnameXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap().Project("x").By(gremlingo.T__.Select("name"))}}, 
@@ -1207,7 +1208,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnameX_order_fold_rTrimXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "    [...]
     "g_injectXthat_this_test_nullX_replaceXh_jX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("that", "this", "test", nil).Replace("h", "j")}}, 
     "g_injectXthat_this_test_nullX_fold_replaceXlocal_h_jX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("that", "this", "test", nil).Fold().Replace(gremlingo.Scope.Local, "h", "j")}}, 
-    "g_injectXListXa_bXcX_replaceXa_bX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Replace("a", "b")}}, 
+    "g_injectXListXa_bXcX_replaceXa_bX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", "b"}).Replace("a", "b")}}, 
     "g_V_hasLabelXsoftwareX_valueXnameX_replaceXnull_iX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").Values("name").Replace(nil, "g")}}, 
     "g_V_hasLabelXsoftwareX_valueXnameX_replaceXa_iX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").Values("name").Replace("p", "g")}}, 
     "g_V_hasLabelXsoftwareX_valueXnameX_order_fold_replaceXloacl_a_iX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").Values("name").Order().Fold().Replace(gremlingo.Scope.Local, "p", "g")}}, 
@@ -1333,12 +1334,12 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_hasLabelXsoftwareX_valueXnameX_substringX1_neg1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").Values("name").Substring(1, -1)}}, 
     "g_V_hasLabelXsoftwareX_valueXnameX_substringXneg4_2X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").Values("name").Substring(-4, 2)}}, 
     "g_V_hasLabelXsoftwareX_valueXnameX_substringXneg3_neg1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("software").Values("name").Substring(-3, -1)}}, 
-    "g_V_injectX127b_1bX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(127, 1).Sum()}}, 
-    "g_V_injectX_128b__1bX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(-128, -1).Sum()}}, 
-    "g_V_injectX32767s_1sX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(32767, 1).Sum()}}, 
-    "g_V_injectX_32768s__1sX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(-32768, -1).Sum()}}, 
-    "g_V_injectX2147483647i_1iX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(2147483647, 1).Sum()}}, 
-    "g_V_injectX_2147483648i__1iX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(-2147483648, -1).Sum()}}, 
+    "g_V_injectX127b_1bX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(127), int8(1)).Sum()}}, 
+    "g_V_injectX_128b__1bX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(-128), int8(-1)).Sum()}}, 
+    "g_V_injectX32767s_1sX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int16(32767), int16(1)).Sum()}}, 
+    "g_V_injectX_32768s__1sX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int16(-32768), int16(-1)).Sum()}}, 
+    "g_V_injectX2147483647i_1iX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int32(2147483647), int32(1)).Sum()}}, 
+    "g_V_injectX_2147483648i__1iX_sumXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int32(-2147483648), int32(-1)).Sum()}}, 
     "g_V_age_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Sum()}}, 
     "g_V_foo_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("foo").Sum()}}, 
     "g_V_age_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Fold().Sum(gremlingo.Scope.Local)}}, 
@@ -1352,20 +1353,20 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap("a").Sum(gremlingo.Scope.Local)}}, 
     "g_V_aggregateXaX_byXfooX_capXaX_unfold_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Aggregate("a").By("foo").Cap("a").Unfold().Sum()}}, 
     "g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ProductiveByStrategy()).V().Aggregate("a").By("foo").Cap("a").Unfold().Sum()}}, 
-    "g_injectXnull_10_5_nullX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil, p["xx1"], p["xx2"], nil).Sum()}}, 
-    "g_injectXlistXnull_10_5_nullXX_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Sum(gremlingo.Scope.Local)}}, 
+    "g_injectXnull_10_5_nullX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil, 10, 5, nil).Sum()}}, 
+    "g_injectXlistXnull_10_5_nullXX_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{nil, 10, 5, nil}).Sum(gremlingo.Scope.Local)}}, 
     "g_VX1X_valuesXageX_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Values("age").Sum(gremlingo.Scope.Local)}}, 
     "g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Local(gremlingo.T__.Union(gremlingo.T__.Values("age"), gremlingo.T__.OutE().Values("weight")).Fold()).Sum(gremlingo.Scope.Local)}}, 
-    "g_V_age_injectX1000nX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Inject(1000).Sum()}}, 
-    "g_injectX1b_2b_3bX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Sum()}}, 
-    "g_injectX1b_2b_3sX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Sum()}}, 
-    "g_injectX1b_26b_3iX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Sum()}}, 
-    "g_injectX1f_26f_3fX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Sum()}}, 
-    "g_V_age_injectX1000nX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Inject(1000).Fold().Sum(gremlingo.Scope.Local)}}, 
-    "g_injectX1b_2b_3bX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Fold().Sum(gremlingo.Scope.Local)}}, 
-    "g_injectX1b_2b_3sX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Fold().Sum(gremlingo.Scope.Local)}}, 
-    "g_injectX1b_26b_3iX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Fold().Sum(gremlingo.Scope.Local)}}, 
-    "g_injectX1f_26f_3fX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 2, 3).Fold().Sum(gremlingo.Scope.Local)}}, 
+    "g_V_age_injectX1000nX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Inject(big.NewInt(1000)).Sum()}}, 
+    "g_injectX1b_2b_3bX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(1), int8(2), int8(3)).Sum()}}, 
+    "g_injectX1b_2b_3sX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(1), int8(2), int16(3)).Sum()}}, 
+    "g_injectX1b_26b_3iX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(1), int8(2), int32(3)).Sum()}}, 
+    "g_injectX1f_26f_3fX_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(float32(1), float32(2), float32(3)).Sum()}}, 
+    "g_V_age_injectX1000nX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("age").Inject(big.NewInt(1000)).Fold().Sum(gremlingo.Scope.Local)}}, 
+    "g_injectX1b_2b_3bX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(1), int8(2), int8(3)).Fold().Sum(gremlingo.Scope.Local)}}, 
+    "g_injectX1b_2b_3sX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(1), int8(2), int16(3)).Fold().Sum(gremlingo.Scope.Local)}}, 
+    "g_injectX1b_26b_3iX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(int8(1), int8(2), int32(3)).Fold().Sum(gremlingo.Scope.Local)}}, 
+    "g_injectX1f_26f_3fX_fold_sumXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(float32(1), float32(2), float32(3)).Fold().Sum(gremlingo.Scope.Local)}}, 
     "g_injectXfeature_test_nullX_toLower": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("FEATURE", "tESt", nil).ToLower()}}, 
     "g_injectXfeature_test_nullX_toLowerXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).ToLower(gremlingo.Scope.Local)}}, 
     "g_injectXListXa_bXX_toLower": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).ToLower()}}, 
@@ -1373,16 +1374,16 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_valuesXnameX_toLowerXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "MARKO").Property("age", 29).As("marko").AddV("person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV("software").Property("name", "LOP").Property("lang", "java").As("lop").AddV("person").Property("name", "JOSH").Property("age", 32).As("josh").AddV("software").Property("name", "RIPPLE").Property("lan [...]
     "g_V_valuesXnameX_order_fold_toLowerXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "MARKO").Property("age", 29).As("marko").AddV("person").Property("name", "VADAS").Property("age", 27).As("vadas").AddV("software").Property("name", "LOP").Property("lang", "java").As("lop").AddV("person").Property("name", "JOSH").Property("age", 32).As("josh").AddV("software").Property("name", "RIPPLE").Pr [...]
     "g_injectXfeature_test_nullX_toUpper": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("feature", "tESt", nil).ToUpper()}}, 
-    "g_injectXfeature_test_nullX_toUpperXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).ToUpper(gremlingo.Scope.Local)}}, 
+    "g_injectXfeature_test_nullX_toUpperXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"feature", "tESt", nil}).ToUpper(gremlingo.Scope.Local)}}, 
     "g_injectXfeature_test_nullX_asString_toUpper": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("feature", "tESt", nil).AsString().ToUpper()}}, 
-    "g_injectXListXa_bXX_toUpper": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).ToUpper()}}, 
+    "g_injectXListXa_bXX_toUpper": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", "b"}).ToUpper()}}, 
     "g_V_valuesXnameX_toUpper": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").ToUpper()}}, 
     "g_V_valuesXnameX_toUpperXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").ToUpper(gremlingo.Scope.Local)}}, 
     "g_V_valuesXnameX_order_fold_toUpperXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name").Order().Fold().ToUpper(gremlingo.Scope.Local)}}, 
     "g_injectX__feature___test__nullX_trim": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("  feature  ", " one test ", nil, "", " ", " abc", "abc ", " abc ", "  ").Trim()}}, 
     "g_injectX__feature___test__nullX_trimXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"  feature  ", " one test ", nil, "", " ", " abc", "abc ", " abc ", "  "}).Trim(gremlingo.Scope.Local)}}, 
-    "g_injectXListXa_bXX_trim": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Trim()}}, 
-    "g_injectXListX1_2XX_trimXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Trim(gremlingo.Scope.Local)}}, 
+    "g_injectXListXa_bXX_trim": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{"a", "b"}).Trim()}}, 
+    "g_injectXListX1_2XX_trimXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{1, 2}).Trim(gremlingo.Scope.Local)}}, 
     "g_V_valuesXnameX_trim": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "   ripple   ").Propert [...]
     "g_V_valuesXnameX_order_fold_trimXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", " marko ").Property("age", 29).As("marko").AddV("person").Property("name", "  vadas  ").Property("age", 27).As("vadas").AddV("software").Property("name", "  lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh  ").Property("age", 32).As("josh").AddV("software").Property("name", "   r [...]
     "g_V_localXoutE_foldX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Local(gremlingo.T__.OutE().Fold()).Unfold()}}, 
@@ -1451,12 +1452,12 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "InjectXnullX_lteXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil).Is(gremlingo.P.Lte(nil))}}, 
     "InjectXnullX_gtXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil).Is(gremlingo.P.Gt(nil))}}, 
     "InjectXnullX_gteXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil).Is(gremlingo.P.Gte(nil))}}, 
-    "InjectXNaNX_eqXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Eq(math.NaN()))}}, 
-    "InjectXNaNX_neqXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Neq(math.NaN()))}}, 
-    "InjectXNaNX_ltXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Lt(math.NaN()))}}, 
-    "InjectXNaNX_lteXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Lte(math.NaN()))}}, 
-    "InjectXNaNX_gtXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Gt(math.NaN()))}}, 
-    "InjectXNaNX_gteXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Gte(math.NaN()))}}, 
+    "InjectXNaNX_eqXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.NaN()).Is(gremlingo.P.Eq(math.NaN()))}}, 
+    "InjectXNaNX_neqXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.NaN()).Is(gremlingo.P.Neq(math.NaN()))}}, 
+    "InjectXNaNX_ltXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.NaN()).Is(gremlingo.P.Lt(math.NaN()))}}, 
+    "InjectXNaNX_lteXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.NaN()).Is(gremlingo.P.Lte(math.NaN()))}}, 
+    "InjectXNaNX_gtXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.NaN()).Is(gremlingo.P.Gt(math.NaN()))}}, 
+    "InjectXNaNX_gteXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.NaN()).Is(gremlingo.P.Gte(math.NaN()))}}, 
     "InjectX1dX_eqXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1.0).Is(gremlingo.P.Eq(math.NaN()))}}, 
     "InjectX1dX_neqXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1.0).Is(gremlingo.P.Neq(math.NaN()))}}, 
     "InjectX1dX_ltXNaNX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1.0).Is(gremlingo.P.Lt(math.NaN()))}}, 
@@ -1522,25 +1523,25 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "InjectX1dX_notXerrorX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1).Not(gremlingo.T__.Is(gremlingo.P.Gt(math.NaN())))}}, 
     "InjectX1dX_notXisXeqXNaNXXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1).Not(gremlingo.T__.Is(gremlingo.P.Eq(math.NaN())))}}, 
     "InjectXInfX_eqXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(1)).Is(gremlingo.P.Eq(math.Inf(1)))}}, 
-    "InjectXInfArgX_eqXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Eq(math.Inf(1)))}}, 
+    "InjectXInfArgX_eqXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(1)).Is(gremlingo.P.Eq(math.Inf(1)))}}, 
     "InjectXInfX_neqXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(1)).Is(gremlingo.P.Neq(math.Inf(1)))}}, 
-    "InjectXInfArgX_neqXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Neq(math.Inf(1)))}}, 
+    "InjectXInfArgX_neqXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(1)).Is(gremlingo.P.Neq(math.Inf(1)))}}, 
     "InjectXNegInfX_eqXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(-1)).Is(gremlingo.P.Eq(math.Inf(-1)))}}, 
-    "InjectXNegInfArgX_eqXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Eq(math.Inf(-1)))}}, 
+    "InjectXNegInfArgX_eqXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(-1)).Is(gremlingo.P.Eq(math.Inf(-1)))}}, 
     "InjectXNegInfX_neqXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(-1)).Is(gremlingo.P.Neq(math.Inf(-1)))}}, 
-    "InjectXNegInfArgX_neqXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Is(gremlingo.P.Neq(math.Inf(-1)))}}, 
+    "InjectXNegInfArgX_neqXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(-1)).Is(gremlingo.P.Neq(math.Inf(-1)))}}, 
     "InjectXInfX_gtXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(1)).Is(gremlingo.P.Gt(math.Inf(-1)))}}, 
     "InjectXInfX_ltXNegInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(1)).Is(gremlingo.P.Lt(math.Inf(-1)))}}, 
     "InjectXNegInfX_ltXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(-1)).Is(gremlingo.P.Lt(math.Inf(1)))}}, 
     "InjectXNegInfX_gtXInfX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(math.Inf(-1)).Is(gremlingo.P.Gt(math.Inf(1)))}}, 
-    "Primitives_Number_eqXbyteX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
-    "Primitives_Number_eqXshortX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
-    "Primitives_Number_eqXintX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
-    "Primitives_Number_eqXlongX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
-    "Primitives_Number_eqXbigintX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
-    "Primitives_Number_eqXfloatX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
-    "Primitives_Number_eqXdoubleX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
-    "Primitives_Number_eqXbigdecimalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Unfold().Where(gremlingo.T__.Is(p["xx2"]))}}, 
+    "Primitives_Number_eqXbyteX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
+    "Primitives_Number_eqXshortX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
+    "Primitives_Number_eqXintX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
+    "Primitives_Number_eqXlongX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
+    "Primitives_Number_eqXbigintX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
+    "Primitives_Number_eqXfloatX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
+    "Primitives_Number_eqXdoubleX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
+    "Primitives_Number_eqXbigdecimalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject([]interface{}{int8(1), int16(1), int32(1), int64(1), float32(1), 1, int32(1000), gremlingo.ParseBigDecimal("1"), big.NewInt(1)}).Unfold().Where(gremlingo.T__.Is(p["xx1"]))}}, 
     "g_V_values_order": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values().Order()}}, 
     "g_V_properties_order": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Properties().Order()}}, 
     "g_V_properties_order_id": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Properties().Order().Id()}}, 
@@ -1570,7 +1571,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_withStrategiesXProductiveByStrategyX_V_aggregateXlocal_xX_byXageX_capXxX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ProductiveByStrategy()).V().Aggregate(gremlingo.Scope.Local, "x").By("age").Cap("x")}}, 
     "g_V_aggregateXlocal_a_nameX_out_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Aggregate(gremlingo.Scope.Local, "a").By("name").Out().Cap("a")}}, 
     "g_VX1X_aggregateXlocal_aX_byXnameX_out_aggregateXlocal_aX_byXnameX_name_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Aggregate(gremlingo.Scope.Local, "a").By("name").Out().Aggregate(gremlingo.Scope.Local, "a").By("name").Values("name").Cap("a")}}, 
-    "g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"]).V().Both().Values("name").Aggregate(gremlingo.Scope.Local, "a").Cap("a")}}, 
+    "g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Both().Values("name").Aggregate(gremlingo.Scope.Local, "a").Cap("a")}}, 
     "g_withSideEffectXa_set_inlineX_V_both_name_aggregateXlocal_aX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", gremlingo.NewSimpleSet("alice")).V().Both().Values("name").Aggregate(gremlingo.Scope.Local, "a").Cap("a")}}, 
     "g_V_aggregateXlocal_aX_byXoutEXcreatedX_countX_out_out_aggregateXlocal_aX_byXinEXcreatedX_weight_sumX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Aggregate(gremlingo.Scope.Local, "a").By(gremlingo.T__.OutE("created").Count()).Out().Out().Aggregate(gremlingo.Scope.Local, "a").By(gremlingo.T__.InE("created").Values("weight").Sum()).Cap("a")}}, 
     "g_V_aggregateXxX_byXvaluesXageX_isXgtX29XXX_capXxX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Aggregate("x").By(gremlingo.T__.Values("age").Is(gremlingo.P.Gt(29))).Cap("x")}}, 
@@ -1598,10 +1599,10 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_withSideEffectXa_true_andX_V_constantXfalseX_aggregateXlocal_aX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", true, gremlingo.Operator.And).V().Constant(false).Aggregate(gremlingo.Scope.Local, "a").Cap("a")}}, 
     "g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXaX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", true, gremlingo.Operator.Or).V().Constant(false).Aggregate("a").Cap("a")}}, 
     "g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXlocal_aX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", true, gremlingo.Operator.Or).V().Constant(false).Aggregate(gremlingo.Scope.Local, "a").Cap("a")}}, 
-    "g_withSideEffectXa_xx1_addAllX_V_aggregateXaX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"], gremlingo.Operator.AddAll).V().Aggregate("a").By("age").Cap("a")}}, 
-    "g_withSideEffectXa_xx1_addAllX_V_aggregateXlocal_aX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"], gremlingo.Operator.AddAll).V().Aggregate(gremlingo.Scope.Local, "a").By("age").Cap("a")}}, 
-    "g_withSideEffectXa_xx1_assignX_V_aggregateXaX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"], gremlingo.Operator.Assign).V().Aggregate("a").By("age").Cap("a")}}, 
-    "g_withSideEffectXa_xx1_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"], gremlingo.Operator.Assign).V().Order().By("age").Aggregate(gremlingo.Scope.Local, "a").By("age").Cap("a")}}, 
+    "g_withSideEffectXa_1_2_3_addAllX_V_aggregateXaX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", []interface{}{int32(1), int32(2), int32(3)}, gremlingo.Operator.AddAll).V().Aggregate("a").By("age").Cap("a")}}, 
+    "g_withSideEffectXa_1_2_3_addAllX_V_aggregateXlocal_aX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", []interface{}{int32(1), int32(2), int32(3)}, gremlingo.Operator.AddAll).V().Aggregate(gremlingo.Scope.Local, "a").By("age").Cap("a")}}, 
+    "g_withSideEffectXa_1_2_3_assignX_V_aggregateXaX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", []interface{}{int32(1), int32(2), int32(3)}, gremlingo.Operator.Assign).V().Aggregate("a").By("age").Cap("a")}}, 
+    "g_withSideEffectXa_1_2_3_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", []interface{}{int32(1), int32(2), int32(3)}, gremlingo.Operator.Assign).V().Order().By("age").Aggregate(gremlingo.Scope.Local, "a").By("age").Cap("a")}}, 
     "g_V_fail": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Fail()}}, 
     "g_V_failXmsgX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Fail("msg")}}, 
     "g_V_unionXout_failX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Union(gremlingo.T__.Out(), gremlingo.T__.Fail())}}, 
@@ -1651,7 +1652,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Out().Values("name").Inject("daniel").As("a").Map(gremlingo.T__.Length()).Path()}}, 
     "g_injectXnull_1_3_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil, 1, 3, nil)}}, 
     "g_injectX10_20_null_20_10_10X_groupCountXxX_dedup_asXyX_projectXa_bX_by_byXselectXxX_selectXselectXyXXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(10, 20, nil, 20, 10, 10).GroupCount("x").Dedup().As("y").Project("a", "b").By().By(gremlingo.T__.Select("x").Select(gremlingo.T__.Select("y")))}}, 
-    "g_injectXname_marko_age_nullX_selectXname_ageX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Select("name", "age")}}, 
+    "g_injectXname_marko_age_nullX_selectXname_ageX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(map[interface{}]interface{}{"name": "marko", "age": nil }).Select("name", "age")}}, 
     "g_injectXnull_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil, nil)}}, 
     "g_injectXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(nil)}}, 
     "g_inject": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject()}}, 
@@ -1669,25 +1670,25 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_io_read_withXreader_graphsonX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Io("data/tinkerpop-modern.json").With(gremlingo.IO.Reader, gremlingo.IO.Graphson).Read()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.E()}}, 
     "g_io_readXgraphmlX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Io("data/tinkerpop-modern.xml").Read()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.E()}}, 
     "g_io_read_withXreader_graphmlX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Io("data/tinkerpop-modern.xml").With(gremlingo.IO.Reader, gremlingo.IO.Graphml).Read()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.E()}}, 
-    "g_withSackX127bX_injectX1bX_sackXsumX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(127).Inject(1).Sack(gremlingo.Operator.Sum).Sack()}}, 
-    "g_withSackX32767sX_injectX1sX_sackXsumX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(32767).Inject(1).Sack(gremlingo.Operator.Sum).Sack()}}, 
-    "g_withSackX2147483647iX_injectX1iX_sackXsumX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(2147483647).Inject(1).Sack(gremlingo.Operator.Sum).Sack()}}, 
+    "g_withSackX127bX_injectX1bX_sackXsumX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int8(127)).Inject(int8(1)).Sack(gremlingo.Operator.Sum).Sack()}}, 
+    "g_withSackX32767sX_injectX1sX_sackXsumX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int16(32767)).Inject(int16(1)).Sack(gremlingo.Operator.Sum).Sack()}}, 
+    "g_withSackX2147483647iX_injectX1iX_sackXsumX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int32(2147483647)).Inject(int32(1)).Sack(gremlingo.Operator.Sum).Sack()}}, 
     "g_withSackX1_7976931348623157E_308dX_injectX1_7976931348623157E_308dX_sackXsumX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(1.7976931348623157e+308).Inject(1.7976931348623157e+308).Sack(gremlingo.Operator.Sum).Sack()}}, 
-    "g_withSackX_128bX_injectX1bX_sackXminusX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(-128).Inject(1).Sack(gremlingo.Operator.Minus).Sack()}}, 
-    "g_withSackX_32768sX_injectX1sX_sackXminusX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(-32768).Inject(1).Sack(gremlingo.Operator.Minus).Sack()}}, 
-    "g_withSackX_2147483648iX_injectX1iX_sackXminusX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(-2147483648).Inject(1).Sack(gremlingo.Operator.Minus).Sack()}}, 
+    "g_withSackX_128bX_injectX1bX_sackXminusX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int8(-128)).Inject(int8(1)).Sack(gremlingo.Operator.Minus).Sack()}}, 
+    "g_withSackX_32768sX_injectX1sX_sackXminusX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int16(-32768)).Inject(int16(1)).Sack(gremlingo.Operator.Minus).Sack()}}, 
+    "g_withSackX_2147483648iX_injectX1iX_sackXminusX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int32(-2147483648)).Inject(int32(1)).Sack(gremlingo.Operator.Minus).Sack()}}, 
     "g_withSackX_1_7976931348623157E_308dX_injectX1_7976931348623157E_308dX_sackXminusX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(-1.7976931348623157e+308).Inject(1.7976931348623157e+308).Sack(gremlingo.Operator.Minus).Sack()}}, 
-    "g_withSackX127bX_injectX2bX_sackXmultX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(127).Inject(2).Sack(gremlingo.Operator.Mult).Sack()}}, 
-    "g_withSackX32767sX_injectX2sX_sackXmultX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(32767).Inject(2).Sack(gremlingo.Operator.Mult).Sack()}}, 
-    "g_withSackX2147483647iX_injectX2iX_sackXmultX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(2147483647).Inject(2).Sack(gremlingo.Operator.Mult).Sack()}}, 
+    "g_withSackX127bX_injectX2bX_sackXmultX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int8(127)).Inject(int8(2)).Sack(gremlingo.Operator.Mult).Sack()}}, 
+    "g_withSackX32767sX_injectX2sX_sackXmultX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int16(32767)).Inject(int16(2)).Sack(gremlingo.Operator.Mult).Sack()}}, 
+    "g_withSackX2147483647iX_injectX2iX_sackXmultX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int32(2147483647)).Inject(int32(2)).Sack(gremlingo.Operator.Mult).Sack()}}, 
     "g_withSackX1_7976931348623157E_308dX_injectX2dX_sackXmultX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(1.7976931348623157e+308).Inject(2).Sack(gremlingo.Operator.Mult).Sack()}}, 
-    "g_withSackX127bX_injectX0_5fX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(127).Inject(0.5).Sack(gremlingo.Operator.Div).Sack()}}, 
-    "g_withSackX32767sX_injectX0_5fX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(32767).Inject(0.5).Sack(gremlingo.Operator.Div).Sack()}}, 
-    "g_withSackX2147483647iX_injectX0_5fX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(2147483647).Inject(0.5).Sack(gremlingo.Operator.Div).Sack()}}, 
+    "g_withSackX127bX_injectX0_5fX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int8(127)).Inject(float32(0.5)).Sack(gremlingo.Operator.Div).Sack()}}, 
+    "g_withSackX32767sX_injectX0_5fX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int16(32767)).Inject(float32(0.5)).Sack(gremlingo.Operator.Div).Sack()}}, 
+    "g_withSackX2147483647iX_injectX0_5fX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int32(2147483647)).Inject(0.5).Sack(gremlingo.Operator.Div).Sack()}}, 
     "g_withSackX1_7976931348623157E_308dX_injectX0_5dX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(1.7976931348623157e+308).Inject(0.5).Sack(gremlingo.Operator.Div).Sack()}}, 
-    "g_withSackX_128bX_injectX_1bX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(-128).Inject(-1).Sack(gremlingo.Operator.Div).Sack()}}, 
-    "g_withSackX_32768sX_injectX_1sX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(-32768).Inject(-1).Sack(gremlingo.Operator.Div).Sack()}}, 
-    "g_withSackX_2147483648iX_injectX_1iX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(-2147483648).Inject(-1).Sack(gremlingo.Operator.Div).Sack()}}, 
+    "g_withSackX_128bX_injectX_1bX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int8(-128)).Inject(int8(-1)).Sack(gremlingo.Operator.Div).Sack()}}, 
+    "g_withSackX_32768sX_injectX_1sX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int16(-32768)).Inject(int16(-1)).Sack(gremlingo.Operator.Div).Sack()}}, 
+    "g_withSackX_2147483648iX_injectX_1iX_sackXdivX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(int32(-2147483648)).Inject(int32(-1)).Sack(gremlingo.Operator.Div).Sack()}}, 
     "g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack("hello").V().OutE().Sack(gremlingo.Operator.Assign).By(gremlingo.T.Label).InV().Sack()}}, 
     "g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(0.0).V().OutE().Sack(gremlingo.Operator.Sum).By("weight").InV().Sack().Sum()}}, 
     "g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(0.0).V().Repeat(gremlingo.T__.OutE().Sack(gremlingo.Operator.Sum).By("weight").InV()).Times(2).Sack()}}, 
@@ -1696,7 +1697,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(1.0, gremlingo.Operator.Sum).V(p["vid1"]).Local(gremlingo.T__.Out("knows").Barrier(gremlingo.Barrier.NormSack)).In("knows").Barrier().Sack()}}, 
     "g_V_sackXassignX_byXageX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Sack(gremlingo.Operator.Assign).By("age").Sack()}}, 
     "g_withSackXBigInteger_TEN_powX1000X_assignX_V_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(p["xx1"], gremlingo.Operator.Assign).V().Local(gremlingo.T__.Out("knows").Barrier(gremlingo.Barrier.NormSack)).In("knows").Barrier().Sack()}}, 
-    "g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(2).V().Sack(gremlingo.Operator.Div).By(gremlingo.T__.Constant(p["xx1"])).Sack()}}, 
+    "g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSack(2).V().Sack(gremlingo.Operator.Div).By(gremlingo.T__.Constant(4.0)).Sack()}}, 
     "g_V_sackXassignX_byXageX_byXnameX_sack": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Sack(gremlingo.Operator.Assign).By("age").By("name").Sack()}}, 
     "g_V_sideEffectXidentityX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().SideEffect(gremlingo.T__.Identity())}}, 
     "g_V_sideEffectXidentity_valuesXnameXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().SideEffect(gremlingo.T__.Identity().Values("name"))}}, 
@@ -1726,7 +1727,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_V_groupXaX_by_byXout_label_tailX10X_foldX_capXaX_selectXvaluesX_unfold_orderXlocalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Group("a").By().By(gremlingo.T__.Out().Label().Tail(10).Fold()).Cap("a").Select(gremlingo.Column.Values).Unfold().Order(gremlingo.Scope.Local)}}, 
     "g_V_storeXa_nameX_out_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Store("a").By("name").Out().Cap("a")}}, 
     "g_VX1X_storeXaX_byXnameX_out_storeXaX_byXnameX_name_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Store("a").By("name").Out().Store("a").By("name").Values("name").Cap("a")}}, 
-    "g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", p["xx1"]).V().Both().Values("name").Store("a").Cap("a")}}, 
+    "g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Both().Values("name").Store("a").Cap("a")}}, 
     "g_withSideEffectXa_set_inlineX_V_both_name_storeXaX_capXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithSideEffect("a", gremlingo.NewSimpleSet("alice")).V().Both().Values("name").Store("a").Cap("a")}}, 
     "g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Store("a").By(gremlingo.T__.OutE("created").Count()).Out().Out().Store("a").By(gremlingo.T__.InE("created").Values("weight").Sum()).Cap("a")}}, 
     "g_VX1X_outEXknowsX_subgraphXsgX_name_capXsgX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).OutE("knows").Subgraph("sg").Values("name").Cap("sg")}}, 
@@ -1746,11 +1747,15 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
     "g_injectXUUIDXXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(uuid.New())}}, 
 }
 
-   func GetTraversal(scenarioName string, g *gremlingo.GraphTraversalSource, parameters map[string]interface{}) (*gremlingo.GraphTraversal, error) {
+   func GetTraversal(scenarioName string, g *gremlingo.GraphTraversalSource, parameters map[string]interface{}, sideEffects map[string]interface{}) (*gremlingo.GraphTraversal, error) {
        if traversalFns, ok := translationMap[scenarioName]; ok {
-           traversal := traversalFns[0]
+           traversalFn := traversalFns[0]
            translationMap[scenarioName] = traversalFns[1:]
-           return traversal(g, parameters), nil
+           traversal := traversalFn(g, parameters)
+           for key, value := range sideEffects {
+               traversal.Bytecode.AddSource("withSideEffect", key, value)
+           }
+           return traversal, nil
        } else {
            return nil, errors.New("scenario for traversal not recognized")
        }
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js
index 211d22e4a7..d3a9d012c2 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/feature-steps.js
@@ -135,6 +135,9 @@ Given('the traversal of', function (traversalText) {
   const p = Object.assign({}, this.parameters);
   p.g = this.g;
   this.traversal = gremlin[this.scenario].shift()(p);
+  for (const key in this.sideEffects) {
+    this.traversal.getBytecode().addSource('withSideEffect', [key, this.sideEffects[key]]);
+  }
 });
 
 Given(/^using the parameter (.+) of P\.(.+)\("(.+)"\)$/, function (paramName, pval, stringValue) {
@@ -158,6 +161,23 @@ Given(/^using the parameter (.+) defined as "(.+)"$/, function (paramName, strin
   });
 });
 
+Given(/^using the side effect (.+) defined as "(.+)"$/, function (sideEffectKey, stringValue) {
+  // Remove escaped chars
+  stringValue = stringValue.replace(/\\"/g, '"');
+  let p = Promise.resolve();
+  if (this.graphName === 'empty') {
+    p = this.loadEmptyGraphData();
+  }
+  return p.then(() => {
+    this.sideEffects[sideEffectKey] = parseValue.call(this, stringValue);
+  }).catch(err => {
+    if (err instanceof IgnoreError) {
+      return 'skipped';
+    }
+    throw err;
+  });
+});
+
 var removeProperties = function(p) {
   if (p === undefined) {   
   } else if (p instanceof graphModule.Vertex || p instanceof graphModule.Edge) {
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 e5604bfc26..cc9da6bac6 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
@@ -78,8 +78,8 @@ const gremlins = {
     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, 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_injectX1X_chooseXisX1X__constantX10Xfold__foldX: [function({g, xx1}) { return g.inject(1).choose(__.is(xx1), __.constant(10).fold(), __.fold()) }], 
+    g_injectX2X_chooseXisX1X__constantX10Xfold__foldX: [function({g, xx1}) { return g.inject(2).choose(__.is(xx1), __.constant(10).fold(), __.fold()) }], 
     g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX: [function({g}) { return g.V().hasLabel("person").choose(__.values("age")).option(P.between(26, 30), __.constant("x")).option(P.between(20, 30), __.constant("y")).option(Pick.none, __.constant("z")) }], 
     g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX: [function({g}) { return g.V().hasLabel("person").choose(__.values("age")).option(P.between(26, 30).or(P.gt(34)), __.constant("x")).option(P.gt(34), __.constant("y")).option(Pick.none, __.constant("z")) }], 
     g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX: [function({g}) { return g.V().hasLabel("person").choose(__.values("age")).option(P.between(26, 30), __.values("name")).option(Pick.none, __.values("name")) }], 
@@ -155,7 +155,7 @@ const gremlins = {
     g_unionXV_out_out_V_hasLabelXsoftwareXX_path_byXnameX: [function({g}) { return g.union(__.V().out().out(), __.V().hasLabel("software")).path().by("name") }], 
     g_unionXunionXV_out_outX_V_hasLabelXsoftwareXX_path_byXnameX: [function({g}) { return g.union(__.union(__.V().out().out()), __.V().hasLabel("software")).path().by("name") }], 
     g_unionXinjectX1X_injectX2X: [function({g}) { return g.union(__.inject(1), __.inject(2)) }], 
-    g_V_unionXconstantX1X_constantX2X_constantX3XX: [function({g, xx1, xx3, xx2, vid2}) { return g.V(vid2).union(__.constant(xx1), __.constant(xx2), __.constant(xx3)) }], 
+    g_V_unionXconstantX1X_constantX2X_constantX3XX: [function({g, vid2}) { return g.V(vid2).union(__.constant(1), __.constant(2), __.constant(3)) }], 
     g_V_unionXout__inX_name: [function({g}) { return g.V().union(__.out(), __.in_()).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()) }], 
@@ -424,13 +424,13 @@ 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, xx1, vid1}) { return g.withSideEffect("a", xx1).V(vid1).out("created").in_("created").values("name").where(P.within("a")) }], 
+    g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX: [function({g, vid1}) { return g.withSideEffect("a", ["josh", "peter"]).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.not(P.within("x"))) }], 
-    g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX: [function({g, vid2, vid1}) { return g.withSideEffect("a", vid2).V(vid1).out().where(__.id().where(P.neq("a"))) }], 
+    g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX: [function({g, vid1}) { return g.V(vid1).out().where(__.id().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.not(P.eq(0)))))).select("a", "b") }], 
@@ -492,7 +492,7 @@ const gremlins = {
     g_withoutStrategiesXMatchPredicateStrategyX_V_matchXa_created_lop_b__b_0created_29_cX_whereXc_repeatXoutX_timesX2XX_selectXa_b_cX: [function({g}) { return g.withoutStrategies(MatchPredicateStrategy).V().match(__.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("a", "b", "c") }], 
     g_withStrategiesXMessagePassingReductionStrategyX_V: [function({g}) { return g.withStrategies(new MessagePassingReductionStrategy()).V() }], 
     g_withoutStrategiesXMessagePassingReductionStrategyX_V: [function({g}) { return g.withoutStrategies(MessagePassingReductionStrategy).V() }], 
-    g_V_coworker: [function({g, xx1}) { return g.V().hasLabel("person").filter(__.outE("created")).aggregate("p").as("p1").values("name").as("p1n").select("p").unfold().where(P.neq("p1")).as("p2").values("name").as("p2n").select("p2").out("created").choose(__.in_("created").where(P.eq("p1")), __.values("name"), __.constant(xx1)).group().by(__.select("p1n")).by(__.group().by(__.select("p2n")).by(__.unfold().fold().project("numCoCreated", "coCreated").by(__.count(Scope.local)).by())).unfol [...]
+    g_V_coworker: [function({g}) { return g.V().hasLabel("person").filter(__.outE("created")).aggregate("p").as("p1").values("name").as("p1n").select("p").unfold().where(P.neq("p1")).as("p2").values("name").as("p2n").select("p2").out("created").choose(__.in_("created").where(P.eq("p1")), __.values("name"), __.constant([])).group().by(__.select("p1n")).by(__.group().by(__.select("p2n")).by(__.unfold().fold().project("numCoCreated", "coCreated").by(__.count(Scope.local)).by())).unfold() }], 
     g_V_coworker_with_midV: [function({g}) { return g.V().hasLabel("person").filter(__.outE("created")).as("p1").V().hasLabel("person").where(P.neq("p1")).filter(__.outE("created")).as("p2").map(__.out("created").where(__.in_("created").as("p1")).values("name").fold()).group().by(__.select("p1").by("name")).by(__.group().by(__.select("p2").by("name")).by(__.project("numCoCreated", "coCreated").by(__.count(Scope.local)).by())).unfold() }], 
     g_withStrategiesXOptionsStrategyX_V: [function({g}) { return g.withStrategies(new OptionsStrategy()).V() }], 
     g_withStrategiesXOptionsStrategyXmyVar_myValueXX_V: [function({g}) { return g.withStrategies(new OptionsStrategy({myVar: "myValue"})).V() }], 
@@ -624,7 +624,7 @@ const gremlins = {
     g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { return g.addV("person").property("name", "marko").property("age", 29).as("marko").addV("person").property("name", "vadas").property("age", 27).as("vadas").addV("software").property("name", "lop").property("lang", "java").as("lop").addV("person").property("name", "josh").property("age", 32).as("josh").addV("software").property("name", "ripple").proper [...]
     g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X: [function({g, vid1, vid2, vid4, vid6}) { return g.addV("person").property("name", "marko").property("age", 29).as("marko").addV("person").property("name", "vadas").property("age", 27).as("vadas").addV("software").property("name", "lop").property("lang", "java").as("lop").addV("person").property("name", "josh").property("age", 32).as("josh").addV("software").property("name", "ri [...]
     g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { return g.addV("person").property("name", "marko").property("age", 29).as("marko").addV("person").property("name", "vadas").property("age", 27).as("vadas").addV("software").property("name", "lop").property("lang", "java").as("lop").addV("person").property("name", "josh").property("age", 32).as("josh").addV("software").property("name", "ripple").p [...]
-    g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X: [function({g, vid6, vid1}) { return g.addV("person").property("name", "marko").property("age", 29).as("marko").addV("person").property("name", "vadas").property("age", 27).as("vadas").addV("software").property("name", "lop").property("lang", "java").as("lop").addV("person").property("name", "josh").property("age", 32).as("josh").addV("software").property("name", "ripple").property("lang", "java").as("ripple").addV("pe [...]
+    g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X: [function({g, vid1, vid6}) { return g.addV("person").property("name", "marko").property("age", 29).as("marko").addV("person").property("name", "vadas").property("age", 27).as("vadas").addV("software").property("name", "lop").property("lang", "java").as("lop").addV("person").property("name", "josh").property("age", 32).as("josh").addV("software").property("name", "ripple").property("lang", "java").as("ripple").addV("pe [...]
     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, vid1}) { return g.addV("person").property("name", "marko").property("age", 29).as("marko").addV("person").property("name", "vadas").property("age", 27).as("vadas").addV("software").property("name", "lop").property("lang", "java").as("lop").addV("person").property("name", "josh").property("age", 32).as("josh").addV("software").property("name", "ripple").property("lang", "java").as("ripple").ad [...]
     g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX: [function({g, vid2}) { return g.addV("person").property("name", "marko").property("age", 29).as("marko").addV("person").property("name", "vadas").property("age", 27).as("vadas").addV("software").property("name", "lop").property("lang", "java").as("lop").addV("person").property("name", "josh").property("age", 32).as("josh").addV("software").property("n [...]
@@ -744,8 +744,8 @@ const gremlins = {
     g_injectXa_bX_concat_XcX: [function({g}) { return g.inject("a", "b").concat("c") }], 
     g_injectXa_bX_concat_Xc_dX: [function({g}) { return g.inject("a", "b").concat("c", "d") }], 
     g_injectXa_bX_concat_Xinject_c_dX: [function({g}) { return g.inject("a", "b").concat(__.inject("c")) }], 
-    g_injectXaX_concat_Xinject_List_b_cX: [function({g, xx1}) { return g.inject("a").concat(__.inject(xx1)) }], 
-    g_injectXListXa_bXcX_concat_XdX: [function({g, xx1}) { return g.inject(xx1, "c").concat("d") }], 
+    g_injectXaX_concat_Xinject_List_b_cX: [function({g}) { return g.inject("a").concat(__.inject(["b", "c"])) }], 
+    g_injectXListXa_bXcX_concat_XdX: [function({g}) { return g.inject(["a", "b"], "c").concat("d") }], 
     g_injectXnullX_concat_XinjectX: [function({g}) { return g.inject(null).concat() }], 
     g_injectXnull_aX_concat_Xnull_bX: [function({g}) { return g.inject(null, "a").concat(null, "b") }], 
     g_injectXhello_hiX_concat_XV_valuesXnameXX: [function({g}) { return g.inject("hello", "hi").concat(__.V().order().by(T.id).values("name")) }], 
@@ -761,11 +761,11 @@ const gremlins = {
     g_V_valuesXnameX_order_fold_conjoinX_X: [function({g}) { return g.V().values("name").order().fold().conjoin("_") }], 
     g_V_valuesXageX_order_fold_conjoinX_X: [function({g}) { return g.V().values("age").order().fold().conjoin(";") }], 
     g_V_out_path_byXvaluesXnameX_toUpperX_conjoinXMARKOX: [function({g}) { return g.V().out().path().by(__.values("name").toUpper()).conjoin("MARKO") }], 
-    g_injectXmarkoX_conjoinX_X: [function({g, xx1}) { return g.inject(xx1).conjoin("-") }], 
+    g_injectXmarkoX_conjoinX_X: [function({g}) { return g.inject(["marko"]).conjoin("-") }], 
     g_V_valueMapXlocationX_selectXvaluesX_unfold_orderXlocalX_conjoinX1X: [function({g}) { return g.V().valueMap("location").select(Column.values).unfold().order(Scope.local).conjoin("1") }], 
     g_V_out_out_path_byXnameX_conjoinXX: [function({g}) { return g.V().out().out().path().by("name").conjoin("") }], 
-    g_injectXa_null_bX_conjoinXxyzX: [function({g, xx1}) { return g.inject(xx1).conjoin("xyz") }], 
-    g_injectX3_threeX_conjoinX_X: [function({g, xx1}) { return g.inject(xx1).conjoin(";") }], 
+    g_injectXa_null_bX_conjoinXxyzX: [function({g}) { return g.inject(["a", null, "b"]).conjoin("xyz") }], 
+    g_injectX3_threeX_conjoinX_X: [function({g}) { return g.inject([3, "three"]).conjoin(";") }], 
     g_V_connectedComponent_hasXcomponentX: [function({g}) { return g.V().connectedComponent().has("gremlin.connectedComponentVertexProgram.component") }], 
     g_V_dedup_connectedComponent_hasXcomponentX: [function({g}) { return g.V().dedup().connectedComponent().has("gremlin.connectedComponentVertexProgram.component") }], 
     g_V_hasLabelXsoftwareX_connectedComponent_project_byXnameX_byXcomponentX: [function({g}) { return g.V().hasLabel("software").connectedComponent().project("name", "component").by("name").by("gremlin.connectedComponentVertexProgram.component") }], 
@@ -806,13 +806,13 @@ const gremlins = {
     g_V_valuesXnonexistantX_fold_differenceXV_valuesXnameX_foldX: [function({g}) { return g.V().values("nonexistant").fold().difference(__.V().values("name").fold()) }], 
     g_V_valuesXnameX_fold_differenceXV_valuesXnonexistantX_foldX: [function({g}) { return g.V().values("name").fold().difference(__.V().values("nonexistant").fold()) }], 
     g_V_valuesXageX_fold_differenceXV_valuesXageX_foldX: [function({g}) { return g.V().values("age").fold().difference(__.V().values("age").fold()) }], 
-    g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX: [function({g, xx1}) { return g.V().out().path().by(__.values("name").toUpper()).difference(xx1) }], 
-    g_injectXmarkoX_differenceXV_valuesXnameX_foldX: [function({g, xx1}) { return g.inject(xx1).difference(__.V().values("name").fold()) }], 
-    g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX: [function({g, xx1}) { return g.V().valueMap("location").select(Column.values).unfold().difference(xx1) }], 
-    g_V_out_out_path_byXnameX_differenceXrippleX: [function({g, xx1}) { return g.V().out().out().path().by("name").difference(xx1) }], 
-    g_V_out_out_path_byXnameX_differenceXempty_listX: [function({g, xx1}) { return g.V().out().out().path().by("name").difference(xx1) }], 
+    g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX: [function({g}) { return g.V().out().path().by(__.values("name").toUpper()).difference(["MARKO"]) }], 
+    g_injectXmarkoX_differenceXV_valuesXnameX_foldX: [function({g}) { return g.inject(["marko"]).difference(__.V().values("name").fold()) }], 
+    g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX: [function({g}) { return g.V().valueMap("location").select(Column.values).unfold().difference(["seattle", "vancouver"]) }], 
+    g_V_out_out_path_byXnameX_differenceXrippleX: [function({g}) { return g.V().out().out().path().by("name").difference(["ripple"]) }], 
+    g_V_out_out_path_byXnameX_differenceXempty_listX: [function({g}) { return g.V().out().out().path().by("name").difference([]) }], 
     g_V_valuesXageX_fold_differenceXconstantX27X_foldX: [function({g}) { return g.V().values("age").fold().difference(__.constant(27).fold()) }], 
-    g_V_out_out_path_byXnameX_differenceXdave_kelvinX: [function({g, xx1}) { return g.V().out().out().path().by("name").difference(xx1) }], 
+    g_V_out_out_path_byXnameX_differenceXdave_kelvinX: [function({g}) { return g.V().out().out().path().by("name").difference(["dave", "kelvin"]) }], 
     g_injectXa_null_bX_differenceXa_cX: [function({g, xx1, xx2}) { return g.inject(xx1).difference(xx2) }], 
     g_injectXa_null_bX_differenceXa_null_cX: [function({g, xx1, xx2}) { return g.inject(xx1).difference(xx2) }], 
     g_injectX3_threeX_differenceXfive_three_7X: [function({g, xx1, xx2}) { return g.inject(xx1).difference(xx2) }], 
@@ -825,14 +825,14 @@ const gremlins = {
     g_V_valuesXnonexistantX_fold_disjunctXV_valuesXnameX_foldX: [function({g}) { return g.V().values("nonexistant").fold().disjunct(__.V().values("name").fold()) }], 
     g_V_valuesXnameX_fold_disjunctXV_valuesXnonexistantX_foldX: [function({g}) { return g.V().values("name").fold().disjunct(__.V().values("nonexistant").fold()) }], 
     g_V_valuesXageX_fold_disjunctXV_valuesXageX_foldX: [function({g}) { return g.V().values("age").fold().disjunct(__.V().values("age").fold()) }], 
-    g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX: [function({g, xx1}) { return g.V().out().path().by(__.values("name").toUpper()).disjunct(xx1) }], 
-    g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX: [function({g, xx1}) { return g.V().valueMap("location").select(Column.values).unfold().disjunct(xx1) }], 
-    g_V_out_out_path_byXnameX_disjunctXmarkoX: [function({g, xx1}) { return g.V().out().out().path().by("name").disjunct(xx1) }], 
-    g_V_out_out_path_byXnameX_disjunctXstephen_markoX: [function({g, xx1}) { return g.V().out().out().path().by("name").disjunct(xx1) }], 
-    g_V_out_out_path_byXnameX_disjunctXdave_kelvinX: [function({g, xx1}) { return g.V().out().out().path().by("name").disjunct(xx1) }], 
-    g_injectXa_null_bX_disjunctXa_cX: [function({g, xx1, xx2}) { return g.inject(xx1).disjunct(xx2) }], 
-    g_injectXa_null_bX_disjunctXa_null_cX: [function({g, xx1, xx2}) { return g.inject(xx1).disjunct(xx2) }], 
-    g_injectX3_threeX_disjunctXfive_three_7X: [function({g, xx1, xx2}) { return g.inject(xx1).disjunct(xx2) }], 
+    g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX: [function({g}) { return g.V().out().path().by(__.values("name").toUpper()).disjunct(["MARKO"]) }], 
+    g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX: [function({g}) { return g.V().valueMap("location").select(Column.values).unfold().disjunct(["seattle", "vancouver"]) }], 
+    g_V_out_out_path_byXnameX_disjunctXmarkoX: [function({g}) { return g.V().out().out().path().by("name").disjunct(["marko"]) }], 
+    g_V_out_out_path_byXnameX_disjunctXstephen_markoX: [function({g}) { return g.V().out().out().path().by("name").disjunct(["stephen", "marko"]) }], 
+    g_V_out_out_path_byXnameX_disjunctXdave_kelvinX: [function({g}) { return g.V().out().out().path().by("name").disjunct(["dave", "kelvin"]) }], 
+    g_injectXa_null_bX_disjunctXa_cX: [function({g}) { return g.inject(["a", null, "b"]).disjunct(["a", "c"]) }], 
+    g_injectXa_null_bX_disjunctXa_null_cX: [function({g}) { return g.inject(["a", null, "b"]).disjunct(["a", null, "c"]) }], 
+    g_injectX3_threeX_disjunctXfive_three_7X: [function({g}) { return g.inject([3, "three"]).disjunct(["five", "three", 7]) }], 
     g_E: [function({g}) { return g.E() }], 
     g_EX11X: [function({g, eid11}) { return g.E(eid11) }], 
     g_EX11AsStringX: [function({g, eid11}) { return g.E(eid11) }], 
@@ -891,7 +891,7 @@ const gremlins = {
     g_V_valuesXnonexistantX_fold_intersectXV_valuesXnameX_foldX: [function({g}) { return g.V().values("nonexistant").fold().intersect(__.V().values("name").fold()) }], 
     g_V_valuesXnameX_fold_intersectXV_valuesXnonexistantX_foldX: [function({g}) { return g.V().values("name").fold().intersect(__.V().values("nonexistant").fold()) }], 
     g_V_valuesXageX_fold_intersectXV_valuesXageX_foldX_order_local: [function({g}) { return g.V().values("age").fold().intersect(__.V().values("age").fold()).order(Scope.local) }], 
-    g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX: [function({g, xx1}) { return g.V().out().path().by(__.values("name").toUpper()).intersect(xx1) }], 
+    g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX: [function({g}) { return g.V().out().path().by(__.values("name").toUpper()).intersect(["MARKO"]) }], 
     g_injectXmarkoX_intersectX___V_valuesXnameX_foldX: [function({g, xx1}) { return g.inject(xx1).intersect(__.V().values("name").fold()) }], 
     g_V_valueMapXlocationX_selectXvaluesX_unfold_intersectXseattle_vancouverX: [function({g, xx1}) { return g.V().valueMap("location").select(Column.values).unfold().intersect(xx1) }], 
     g_V_valuesXageX_fold_intersectX___constantX27X_foldX: [function({g}) { return g.V().values("age").fold().intersect(__.constant(27).fold()) }], 
@@ -908,7 +908,7 @@ const gremlins = {
     g_V_valuesXnameX_order_fold_lTrimXlocalX: [function({g}) { return g.addV("person").property("name", " marko ").property("age", 29).as("marko").addV("person").property("name", "  vadas  ").property("age", 27).as("vadas").addV("software").property("name", "  lop").property("lang", "java").as("lop").addV("person").property("name", "josh  ").property("age", 32).as("josh").addV("software").property("name", "   ripple   ").property("lang", "java").as("ripple").addV("person").property("name [...]
     g_injectXfeature_test_nullX_length: [function({g}) { return g.inject("feature", "test", null).length() }], 
     g_injectXfeature_test_nullX_lengthXlocalX: [function({g}) { return g.inject("feature", "test", null).length(Scope.local) }], 
-    g_injectXListXa_bXX_length: [function({g, xx1}) { return g.inject(xx1).length() }], 
+    g_injectXListXa_bXX_length: [function({g}) { return g.inject(["a", "b"]).length() }], 
     g_V_valuesXnameX_length: [function({g}) { return g.V().values("name").length() }], 
     g_V_valuesXnameX_order_fold_lengthXlocalX: [function({g}) { return g.V().values("name").order().fold().length(Scope.local) }], 
     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") }], 
@@ -960,7 +960,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, xx1}) { return g.withSideEffect("x", xx1).V().values("age").math("_ + x") }], 
+    g_withSideEffectXx_100X_V_age_mathX__plus_xX: [function({g}) { return g.withSideEffect("x", 100).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") }], 
@@ -998,8 +998,8 @@ const gremlins = {
     g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_meanXlocalX: [function({g}) { return g.withStrategies(new ProductiveByStrategy()).V().aggregate("a").by("foo").cap("a").mean(Scope.local) }], 
     g_V_aggregateXaX_byXfooX_capXaX_unfold_mean: [function({g}) { return g.V().aggregate("a").by("foo").cap("a").unfold().mean() }], 
     g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_mean: [function({g}) { return g.withStrategies(new ProductiveByStrategy()).V().aggregate("a").by("foo").cap("a").unfold().mean() }], 
-    g_injectXnull_10_20_nullX_mean: [function({g, xx1, xx2}) { return g.inject(null, xx1, xx2, null).mean() }], 
-    g_injectXlistXnull_10_20_nullXX_meanXlocalX: [function({g, xx1}) { return g.inject(xx1).mean(Scope.local) }], 
+    g_injectXnull_10_20_nullX_mean: [function({g}) { return g.inject(null, 10, 20, null).mean() }], 
+    g_injectXlistXnull_10_20_nullXX_meanXlocalX: [function({g}) { return g.inject([null, 10, 20, null]).mean(Scope.local) }], 
     g_VX1X_valuesXageX_meanXlocalX: [function({g, vid1}) { return g.V(vid1).values("age").mean(Scope.local) }], 
     g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_meanXlocalX: [function({g}) { return g.V().local(__.union(__.values("age"), __.outE().values("weight")).fold()).mean(Scope.local) }], 
     g_injectXnullX_mergeXinjectX1XX: [function({g}) { return g.inject(null).merge(__.inject(1)) }], 
@@ -1008,7 +1008,7 @@ const gremlins = {
     g_V_fold_mergeXVX: [function({g}) { return g.V().fold().merge(__.V()) }], 
     g_V_elementMap_mergeXconstantXaXX: [function({g}) { return g.V().elementMap().merge(__.constant("a")) }], 
     g_V_fold_mergeXV_asXaX_projectXaX_byXnameXX: [function({g}) { return g.V().fold().merge(__.V().as("a").project("a").by("name")) }], 
-    g_V_fold_mergeXk_vX: [function({g, xx1}) { return g.V().fold().merge(xx1) }], 
+    g_V_fold_mergeXk_vX: [function({g}) { return g.V().fold().merge(new Map([["k", "v"]])) }], 
     g_V_valuesXnameX_fold_mergeX2X: [function({g}) { return g.V().values("name").fold().merge(2) }], 
     g_V_valuesXnameX_fold_mergeXnullX: [function({g}) { return g.V().values("name").fold().merge(null) }], 
     g_V_valuesXnonexistantX_fold_mergeXV_valuesXnameX_foldX: [function({g}) { return g.V().values("nonexistant").fold().merge(__.V().values("name").fold()) }], 
@@ -1034,7 +1034,7 @@ const gremlins = {
     g_mergeEXnullX: [function({g}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g}) { return g.mergeE(null) }], 
     g_V_mergeEXnullX: [function({g}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g}) { return g.V().mergeE(null) }], 
     g_mergeEXlabel_knows_out_marko_in_vadasX: [function({g, xx1}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1}) { return g.mergeE(xx1) }, function({g, xx1}) { return g.V().has("person", "name", "marko").out("knows").has("person", "name", "vadas") }], 
-    g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX: [function({g, xx1}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1}) { return g.withSideEffect("a", xx1).mergeE(__.select("a")) }, function({g, xx1}) { return g.V().has("person", "name", "marko").out("knows").has("person", "name", "vadas") }], 
+    g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX: [function({g}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g}) { return g.mergeE(__.select("a")) }, function({g}) { return g.V().has("person", "name", "marko").out("knows").has("person", "name", "vadas") }], 
     g_mergeEXlabel_knows_out_marko1_in_vadas1X: [function({g, xx1}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1}) { return g.mergeE(xx1) }, function({g, xx1}) { return g.V().has("person", "name", "marko").out("knows").has("person", "name", "vadas") }], 
     g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X_exists: [function({g, xx1}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b").addE("knows").from_("a").to("b") }, function({g, xx1}) { return g.mergeE(xx1) }, function({g, xx1}) { return g.V().has("person", "name", "marko").outE("knows").has("weight", 0.5).inV().has("person", "name", "vadas") }, function({g, xx1}) { return g.V().has("person", "name", "marko").out("knows").has [...]
     g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X: [function({g, xx1}) { return g.mergeE(xx1) }], 
@@ -1047,12 +1047,12 @@ const gremlins = {
     g_mergeEXlabel_knows_out_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated: [function({g, xx1, xx3, xx2}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b").addE("knows").from_("a").to("b").property("created", "Y").addE("knows").from_("b").to("a").property("created", "Y") }, function({g, xx1, xx3, xx2}) { return g.mergeE(xx1).option(Merge.onCreate, xx2).option(Merge.onMatch, xx3) }, function({g, xx1, x [...]
     g_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated: [function({g, xx1, xx3, xx2}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b").addE("knows").from_("a").to("b").property("created", "Y").addE("knows").from_("b").to("a").property("created", "Y") }, function({g, xx1, xx3, xx2}) { return g.mergeE(xx1).option(Merge.onCreate, xx2).option(Merge.onMatch, xx3) }, function({g, xx1, xx3, xx2}) {  [...]
     g_V_hasXperson_name_marko_X_mergeEXlabel_self_out_vadas1_in_vadas1X: [function({g, xx1}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1}) { return g.V().has("person", "name", "marko").mergeE(xx1) }, function({g, xx1}) { return g.V() }, function({g, xx1}) { return g.E() }, function({g, xx1}) { return g.E().hasLabel("self").bothV().has("name", "vadas") }], 
-    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists: [function({g, xx1, xx3, xx2}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b").addE("knows").from_("a").to("b") }, function({g, xx1, xx3, xx2}) { return g.withSideEffect("c", xx2).withSideEffect("m", xx3).mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onM [...]
-    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX: [function({g, xx1, xx3, xx2}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b") }, function({g, xx1, xx3, xx2}) { return g.withSideEffect("c", xx2).withSideEffect("m", xx3).mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m")) }, function({g, xx [...]
-    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX: [function({g, xx1, xx3, xx2}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b") }, function({g, xx1, xx3, xx2}) { return g.withSideEffect("c", xx2).withSideEffect("m", xx3).mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m")) }, function({g,  [...]
+    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists: [function({g, xx1}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b").addE("knows").from_("a").to("b") }, function({g, xx1}) { return g.mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m")) }, function({g, xx1}) { return g.V() }, function [...]
+    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX: [function({g, xx1}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b") }, function({g, xx1}) { return g.mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m")) }, function({g, xx1}) { return g.V() }, function({g, xx1}) { return g.E() }, function({g [...]
+    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX: [function({g, xx1}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b") }, function({g, xx1}) { return g.mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m")) }, function({g, xx1}) { return g.V() }, function({g, xx1}) { return g.E() }, function( [...]
     g_mergeEXlabel_knows_out_marko_in_vadasX_aliased_direction: [function({g, xx1}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1}) { return g.mergeE(xx1) }, function({g, xx1}) { return g.V().has("person", "name", "marko").out("knows").has("person", "name", "vadas") }], 
     g_injectXlabel_knows_out_marko_in_vadas_label_self_out_vadas_in_vadasX: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1, xx2}) { return g.inject(xx1, xx2).mergeE() }, function({g, xx1, xx2}) { return g.V() }, function({g, xx1, xx2}) { return g.E() }, function({g, xx1, xx2}) { return g.V().has("person", "name", "marko").out("knows").has("person", "name", "vadas") }, function({g, xx1, xx2}) { retu [...]
-    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists: [function({g, xx1, xx3, xx2}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b").addE("knows").property("weight", 1.0).from_("a").to("b") }, function({g, xx1, xx3, xx2}) { return g.withSideEffect("c", xx2).withSideEffect("m", xx3).mergeE( [...]
+    g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists: [function({g, xx1}) { return g.addV("person").property("name", "marko").as("a").addV("person").property("name", "vadas").as("b").addE("knows").property("weight", 1.0).from_("a").to("b") }, function({g, xx1}) { return g.mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.s [...]
     g_mergeE_with_outVinV_options_map: [function({g, xx1, xx3, xx2}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1, xx3, xx2}) { return g.mergeE(xx1).option(Merge.outV, xx2).option(Merge.inV, xx3) }, function({g, xx1, xx3, xx2}) { return g.V() }, function({g, xx1, xx3, xx2}) { return g.V().has("name", "marko").out("knows").has("name", "vadas") }], 
     g_mergeE_with_outVinV_options_select: [function({g, xx1, vid2, vid1}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1, vid2, vid1}) { return g.V(vid1).as("x").V(vid2).as("y").mergeE(xx1).option(Merge.outV, __.select("x")).option(Merge.inV, __.select("y")) }, function({g, xx1, vid2, vid1}) { return g.V() }, function({g, xx1, vid2, vid1}) { return g.V().has("name", "marko").out("knows").has("name", "vadas") }], 
     g_mergeE_with_eid_specified_and_inheritance_1: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").addV("person").property("name", "vadas") }, function({g, xx1, xx2}) { return g.mergeE(xx1).option(Merge.onCreate, xx2) }, function({g, xx1, xx2}) { return g.V() }, function({g, xx1, xx2}) { return g.E() }, function({g, xx1, xx2}) { return g.E("201") }, function({g, xx1, xx2}) { return g.V().has("name", "marko").out("knows").has("name", "vadas") }], 
@@ -1088,23 +1088,23 @@ const gremlins = {
     g_mergeVXlabel_person_name_markoX: [function({g, xx1}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1}) { return g.mergeV(xx1) }, function({g, xx1}) { return g.V().has("person", "name", "marko") }], 
     g_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.mergeV(xx1).option(Merge.onCreate, xx2) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "stephen").has("age", 19) }], 
     g_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.mergeV(xx1).option(Merge.onMatch, xx2) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "marko").has("age", 19) }], 
-    g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.withSideEffect("c", xx1).withSideEffect("m", xx2).mergeV(__.select("c")).option(Merge.onCreate, __.select("m")) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "stephen").has("age", 19) }], 
-    g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.withSideEffect("c", xx1).withSideEffect("m", xx2).mergeV(__.select("c")).option(Merge.onMatch, __.select("m")) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "marko").has("age", 19) }], 
+    g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option: [function({g}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g}) { return g.mergeV(__.select("c")).option(Merge.onCreate, __.select("m")) }, function({g}) { return g.V().has("person", "name", "stephen").has("age", 19) }], 
+    g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option: [function({g}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g}) { return g.mergeV(__.select("c")).option(Merge.onMatch, __.select("m")) }, function({g}) { return g.V().has("person", "name", "marko").has("age", 19) }], 
     g_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX: [function({g, xx1}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1}) { return g.mergeV(xx1).property("name", "vadas", "acl", "public") }, function({g, xx1}) { return g.V().properties("name").hasValue("vadas").has("acl", "public") }], 
     g_injectX0X_mergeVXlabel_person_name_stephenX: [function({g, xx1}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1}) { return g.inject(0).mergeV(xx1) }, function({g, xx1}) { return g.V().has("person", "name", "stephen") }], 
     g_injectX0X_mergeVXlabel_person_name_markoX: [function({g, xx1}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1}) { return g.inject(0).mergeV(xx1) }, function({g, xx1}) { return g.V().has("person", "name", "marko") }], 
     g_injectX0X_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.inject(0).mergeV(xx1).option(Merge.onCreate, xx2) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "stephen").has("age", 19) }], 
     g_injectX0X_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.inject(0).mergeV(xx1).option(Merge.onMatch, xx2) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "marko").has("age", 19) }], 
-    g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.withSideEffect("c", xx1).withSideEffect("m", xx2).inject(0).mergeV(__.select("c")).option(Merge.onCreate, __.select("m")) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "stephe [...]
-    g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.withSideEffect("c", xx1).withSideEffect("m", xx2).inject(0).mergeV(__.select("c")).option(Merge.onMatch, __.select("m")) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "marko").has("age", 19) }], 
+    g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option: [function({g}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g}) { return g.inject(0).mergeV(__.select("c")).option(Merge.onCreate, __.select("m")) }, function({g}) { return g.V().has("person", "name", "stephen").has("age", 19) }], 
+    g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option: [function({g}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g}) { return g.inject(0).mergeV(__.select("c")).option(Merge.onMatch, __.select("m")) }, function({g}) { return g.V().has("person", "name", "marko").has("age", 19) }], 
     g_injectX0X_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX: [function({g, xx1}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1}) { return g.inject(0).mergeV(xx1).property("name", "vadas", "acl", "public") }, function({g, xx1}) { return g.V().properties("name").hasValue("vadas").has("acl", "public") }], 
     g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeVXidentityX: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.inject(xx1, xx2).mergeV(__.identity()) }, function({g, xx1, xx2}) { return g.V().has("person", "name", "stephen") }, function({g, xx1, xx2}) { return g.V().has("person", "name", "marko") }, function({g, xx1, xx2}) { return g.V() }], 
     g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeV: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property("age", 29) }, function({g, xx1, xx2}) { return g.inject(xx1, xx2).mergeV() }, function({g, xx1, xx2}) { return g.V().has("person", "name", "stephen") }, function({g, xx1, xx2}) { return g.V().has("person", "name", "marko") }, function({g, xx1, xx2}) { return g.V() }], 
     g_mergeVXlabel_person_name_stephenX_propertyXlist_name_steveX: [function({g, xx1}) { return g.addV("person").property(Cardinality.list, "name", "stephen") }, function({g, xx1}) { return g.mergeV(xx1).property(Cardinality.list, "name", "steve") }, function({g, xx1}) { return g.V() }, function({g, xx1}) { return g.V().properties("name").hasValue("steve") }, function({g, xx1}) { return g.V().properties("name").hasValue("stephen") }, function({g, xx1}) { return g.V().properties("name") }], 
     g_mergeXlabel_person_name_vadasX_optionXonMatch_age_35X: [function({g, xx1, xx2}) { return g.addV("person").property("name", "vadas").property("age", 29).addV("person").property("name", "vadas").property("age", 27) }, function({g, xx1, xx2}) { return g.mergeV(xx1).option(Merge.onMatch, xx2) }, function({g, xx1, xx2}) { return g.V().has("age", 35) }, function({g, xx1, xx2}) { return g.V() }], 
     g_V_mapXmergeXlabel_person_name_joshXX: [function({g, xx1}) { return g.addV("person").property("name", "vadas").property("age", 29).addV("person").property("name", "stephen").property("age", 27) }, function({g, xx1}) { return g.V().map(__.mergeV(xx1)) }, function({g, xx1}) { return g.V().has("person", "name", "josh") }, function({g, xx1}) { return g.V() }], 
-    g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option: [function({g, xx1, xx2}) { return g.addV("person").property("name", "marko").property(Cardinality.list, "age", 29).property(Cardinality.list, "age", 31).property(Cardinality.list, "age", 32) }, function({g, xx1, xx2}) { return g.withSideEffect("c", xx1).withSideEffect("m", xx2).mergeV(__.select("c")).option(Merge.onMatch, __.sideEff [...]
-    g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option: [function({g, xx1}) { return g.addV("person").property("name", "marko").property(Cardinality.list, "age", 29).property(Cardinality.list, "age", 31).property(Cardinality.list, "age", 32) }, function({g, xx1}) { return g.withSideEffect("m", xx1).V().has("person", "name", "marko").mergeV(new Map([])).option(Merge.onMatch, __.sideEffect(__.properties("a [...]
+    g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option: [function({g}) { return g.addV("person").property("name", "marko").property(Cardinality.list, "age", 29).property(Cardinality.list, "age", 31).property(Cardinality.list, "age", 32) }, function({g}) { return g.mergeV(__.select("c")).option(Merge.onMatch, __.sideEffect(__.properties("age").drop()).select("m")) }, function({g}) { retur [...]
+    g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option: [function({g}) { return g.addV("person").property("name", "marko").property(Cardinality.list, "age", 29).property(Cardinality.list, "age", 31).property(Cardinality.list, "age", 32) }, function({g}) { return g.V().has("person", "name", "marko").mergeV(new Map([])).option(Merge.onMatch, __.sideEffect(__.properties("age").drop()).select("m")) }], 
     g_mergeV_onCreate_inheritance_existing: [function({g, xx1, xx2}) { return g.addV("person").property("name", "mike").property(T.id, "1") }, function({g, xx1, xx2}) { return g.mergeV(xx1).option(Merge.onCreate, xx2) }, function({g, xx1, xx2}) { return g.V() }, function({g, xx1, xx2}) { return g.V("1").has("person", "name", "mike") }], 
     g_mergeV_onCreate_inheritance_new_1: [function({g, xx1, xx2}) { return g.mergeV(xx1).option(Merge.onCreate, xx2) }, function({g, xx1, xx2}) { return g.V() }, function({g, xx1, xx2}) { return g.V("1").has("person", "name", "mike") }], 
     g_mergeV_onCreate_inheritance_new_2: [function({g, xx1, xx2}) { return g.mergeV(xx1).option(Merge.onCreate, xx2) }, function({g, xx1, xx2}) { return g.V() }, function({g, xx1, xx2}) { return g.V("1").has("person", "name", "mike") }], 
@@ -1149,7 +1149,7 @@ 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, xx1}) { return g.V().values("foo").inject(xx1).min() }], 
+    g_V_foo_injectX9999999999X_min: [function({g}) { return g.V().values("foo").inject(9999999999).min() }], 
     g_VX1X_valuesXageX_minXlocalX: [function({g, vid1}) { return g.V(vid1).values("age").min(Scope.local) }], 
     g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_minXlocalX: [function({g}) { return g.V().local(__.union(__.values("age"), __.outE().values("weight")).fold()).min(Scope.local) }], 
     g_V_name_order: [function({g}) { return g.V().values("name").order() }], 
@@ -1210,14 +1210,14 @@ const gremlins = {
     g_V_valuesXnonexistantX_fold_productXV_valuesXnameX_foldX: [function({g}) { return g.V().values("nonexistant").fold().product(__.V().values("name").fold()) }], 
     g_V_valuesXnameX_fold_productXV_valuesXnonexistantX_foldX: [function({g}) { return g.V().values("name").fold().product(__.V().values("nonexistant").fold()) }], 
     g_V_valuesXageX_order_byXdescX_limitX3X_fold_productXV_valuesXageX_order_byXascX_limitX2X_foldX_unfold: [function({g}) { return g.V().values("age").order().by(Order.desc).limit(3).fold().product(__.V().values("age").order().by(Order.asc).limit(2).fold()).unfold() }], 
-    g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold: [function({g, xx1}) { return g.V().out().path().by(__.values("name").toUpper()).product(xx1).unfold() }], 
-    g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold: [function({g, xx1}) { return g.inject(xx1).product(__.V().values("name").order().fold()).unfold() }], 
-    g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold: [function({g, xx1}) { return g.V().valueMap("location").select(Column.values).unfold().product(xx1).unfold() }], 
+    g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold: [function({g}) { return g.V().out().path().by(__.values("name").toUpper()).product(["MARKO"]).unfold() }], 
+    g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold: [function({g}) { return g.inject(["marko"]).product(__.V().values("name").order().fold()).unfold() }], 
+    g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold: [function({g}) { return g.V().valueMap("location").select(Column.values).unfold().product(["dulles", "seattle", "vancouver"]).unfold() }], 
     g_V_valuesXageX_order_byXascX_fold_productXconstantX27X_foldX_unfold: [function({g}) { return g.V().values("age").order().by(Order.asc).fold().product(__.constant(27).fold()).unfold() }], 
-    g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold: [function({g, xx1}) { return g.V().out().out().path().by("name").product(xx1).unfold() }], 
-    g_injectXa_null_bX_productXa_cX_unfold: [function({g, xx1, xx2}) { return g.inject(xx1).product(xx2).unfold() }], 
-    g_injectXa_null_bX_productXa_null_cX_unfold: [function({g, xx1, xx2}) { return g.inject(xx1).product(xx2).unfold() }], 
-    g_injectX3_threeX_productXfive_three_7X_unfold: [function({g, xx1, xx2}) { return g.inject(xx1).product(xx2).unfold() }], 
+    g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold: [function({g}) { return g.V().out().out().path().by("name").product(["dave", "kelvin"]).unfold() }], 
+    g_injectXa_null_bX_productXa_cX_unfold: [function({g}) { return g.inject(["a", null, "b"]).product(["a", "c"]).unfold() }], 
+    g_injectXa_null_bX_productXa_null_cX_unfold: [function({g}) { return g.inject(["a", null, "b"]).product(["a", null, "c"]).unfold() }], 
+    g_injectX3_threeX_productXfive_three_7X_unfold: [function({g}) { return g.inject([3, "three"]).product(["five", "three", 7]).unfold() }], 
     g_V_hasLabelXpersonX_projectXa_bX_byXoutE_countX_byXageX: [function({g}) { return g.V().hasLabel("person").project("a", "b").by(__.outE().count()).by("age") }], 
     g_V_outXcreatedX_projectXa_bX_byXnameX_byXinXcreatedX_countX_order_byXselectXbX__descX_selectXaX: [function({g}) { return g.V().out("created").project("a", "b").by("name").by(__.in_("created").count()).order().by(__.select("b"), Order.desc).select("a") }], 
     g_V_valueMap_projectXxX_byXselectXnameXX: [function({g}) { return g.V().valueMap().project("x").by(__.select("name")) }], 
@@ -1237,7 +1237,7 @@ const gremlins = {
     g_V_valuesXnameX_order_fold_rTrimXlocalX: [function({g}) { return g.addV("person").property("name", " marko ").property("age", 29).as("marko").addV("person").property("name", "  vadas  ").property("age", 27).as("vadas").addV("software").property("name", "  lop").property("lang", "java").as("lop").addV("person").property("name", "josh  ").property("age", 32).as("josh").addV("software").property("name", "   ripple   ").property("lang", "java").as("ripple").addV("person").property("name [...]
     g_injectXthat_this_test_nullX_replaceXh_jX: [function({g}) { return g.inject("that", "this", "test", null).replace("h", "j") }], 
     g_injectXthat_this_test_nullX_fold_replaceXlocal_h_jX: [function({g}) { return g.inject("that", "this", "test", null).fold().replace(Scope.local, "h", "j") }], 
-    g_injectXListXa_bXcX_replaceXa_bX: [function({g, xx1}) { return g.inject(xx1).replace("a", "b") }], 
+    g_injectXListXa_bXcX_replaceXa_bX: [function({g}) { return g.inject(["a", "b"]).replace("a", "b") }], 
     g_V_hasLabelXsoftwareX_valueXnameX_replaceXnull_iX: [function({g}) { return g.V().hasLabel("software").values("name").replace(null, "g") }], 
     g_V_hasLabelXsoftwareX_valueXnameX_replaceXa_iX: [function({g}) { return g.V().hasLabel("software").values("name").replace("p", "g") }], 
     g_V_hasLabelXsoftwareX_valueXnameX_order_fold_replaceXloacl_a_iX: [function({g}) { return g.V().hasLabel("software").values("name").order().fold().replace(Scope.local, "p", "g") }], 
@@ -1382,8 +1382,8 @@ const gremlins = {
     g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_sumXlocalX: [function({g}) { return g.withStrategies(new ProductiveByStrategy()).V().aggregate("a").by("foo").cap("a").sum(Scope.local) }], 
     g_V_aggregateXaX_byXfooX_capXaX_unfold_sum: [function({g}) { return g.V().aggregate("a").by("foo").cap("a").unfold().sum() }], 
     g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_sum: [function({g}) { return g.withStrategies(new ProductiveByStrategy()).V().aggregate("a").by("foo").cap("a").unfold().sum() }], 
-    g_injectXnull_10_5_nullX_sum: [function({g, xx1, xx2}) { return g.inject(null, xx1, xx2, null).sum() }], 
-    g_injectXlistXnull_10_5_nullXX_sumXlocalX: [function({g, xx1}) { return g.inject(xx1).sum(Scope.local) }], 
+    g_injectXnull_10_5_nullX_sum: [function({g}) { return g.inject(null, 10, 5, null).sum() }], 
+    g_injectXlistXnull_10_5_nullXX_sumXlocalX: [function({g}) { return g.inject([null, 10, 5, null]).sum(Scope.local) }], 
     g_VX1X_valuesXageX_sumXlocalX: [function({g, vid1}) { return g.V(vid1).values("age").sum(Scope.local) }], 
     g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_sumXlocalX: [function({g}) { return g.V().local(__.union(__.values("age"), __.outE().values("weight")).fold()).sum(Scope.local) }], 
     g_V_age_injectX1000nX_sum: [function({g}) { return g.V().values("age").inject(1000).sum() }], 
@@ -1403,16 +1403,16 @@ const gremlins = {
     g_V_valuesXnameX_toLowerXlocalX: [function({g}) { return g.addV("person").property("name", "MARKO").property("age", 29).as("marko").addV("person").property("name", "VADAS").property("age", 27).as("vadas").addV("software").property("name", "LOP").property("lang", "java").as("lop").addV("person").property("name", "JOSH").property("age", 32).as("josh").addV("software").property("name", "RIPPLE").property("lang", "java").as("ripple").addV("person").property("name", "PETER").property("age [...]
     g_V_valuesXnameX_order_fold_toLowerXlocalX: [function({g}) { return g.addV("person").property("name", "MARKO").property("age", 29).as("marko").addV("person").property("name", "VADAS").property("age", 27).as("vadas").addV("software").property("name", "LOP").property("lang", "java").as("lop").addV("person").property("name", "JOSH").property("age", 32).as("josh").addV("software").property("name", "RIPPLE").property("lang", "java").as("ripple").addV("person").property("name", "PETER").pr [...]
     g_injectXfeature_test_nullX_toUpper: [function({g}) { return g.inject("feature", "tESt", null).toUpper() }], 
-    g_injectXfeature_test_nullX_toUpperXlocalX: [function({g, xx1}) { return g.inject(xx1).toUpper(Scope.local) }], 
+    g_injectXfeature_test_nullX_toUpperXlocalX: [function({g}) { return g.inject(["feature", "tESt", null]).toUpper(Scope.local) }], 
     g_injectXfeature_test_nullX_asString_toUpper: [function({g}) { return g.inject("feature", "tESt", null).asString().toUpper() }], 
-    g_injectXListXa_bXX_toUpper: [function({g, xx1}) { return g.inject(xx1).toUpper() }], 
+    g_injectXListXa_bXX_toUpper: [function({g}) { return g.inject(["a", "b"]).toUpper() }], 
     g_V_valuesXnameX_toUpper: [function({g}) { return g.V().values("name").toUpper() }], 
     g_V_valuesXnameX_toUpperXlocalX: [function({g}) { return g.V().values("name").toUpper(Scope.local) }], 
     g_V_valuesXnameX_order_fold_toUpperXlocalX: [function({g}) { return g.V().values("name").order().fold().toUpper(Scope.local) }], 
     g_injectX__feature___test__nullX_trim: [function({g}) { return g.inject("  feature  ", " one test ", null, "", " ", " abc", "abc ", " abc ", "  ").trim() }], 
     g_injectX__feature___test__nullX_trimXlocalX: [function({g}) { return g.inject(["  feature  ", " one test ", null, "", " ", " abc", "abc ", " abc ", "  "]).trim(Scope.local) }], 
-    g_injectXListXa_bXX_trim: [function({g, xx1}) { return g.inject(xx1).trim() }], 
-    g_injectXListX1_2XX_trimXlocalX: [function({g, xx1}) { return g.inject(xx1).trim(Scope.local) }], 
+    g_injectXListXa_bXX_trim: [function({g}) { return g.inject(["a", "b"]).trim() }], 
+    g_injectXListX1_2XX_trimXlocalX: [function({g}) { return g.inject([1, 2]).trim(Scope.local) }], 
     g_V_valuesXnameX_trim: [function({g}) { return g.addV("person").property("name", " marko ").property("age", 29).as("marko").addV("person").property("name", "  vadas  ").property("age", 27).as("vadas").addV("software").property("name", "  lop").property("lang", "java").as("lop").addV("person").property("name", "josh  ").property("age", 32).as("josh").addV("software").property("name", "   ripple   ").property("lang", "java").as("ripple").addV("person").property("name", "peter").propert [...]
     g_V_valuesXnameX_order_fold_trimXlocalX: [function({g}) { return g.addV("person").property("name", " marko ").property("age", 29).as("marko").addV("person").property("name", "  vadas  ").property("age", 27).as("vadas").addV("software").property("name", "  lop").property("lang", "java").as("lop").addV("person").property("name", "josh  ").property("age", 32).as("josh").addV("software").property("name", "   ripple   ").property("lang", "java").as("ripple").addV("person").property("name" [...]
     g_V_localXoutE_foldX_unfold: [function({g}) { return g.V().local(__.outE().fold()).unfold() }], 
@@ -1481,12 +1481,12 @@ const gremlins = {
     InjectXnullX_lteXnullX: [function({g}) { return g.inject(null).is(P.lte(null)) }], 
     InjectXnullX_gtXnullX: [function({g}) { return g.inject(null).is(P.gt(null)) }], 
     InjectXnullX_gteXnullX: [function({g}) { return g.inject(null).is(P.gte(null)) }], 
-    InjectXNaNX_eqXNaNX: [function({g, xx1}) { return g.inject(xx1).is(P.eq(Number.NaN)) }], 
-    InjectXNaNX_neqXNaNX: [function({g, xx1}) { return g.inject(xx1).is(P.neq(Number.NaN)) }], 
-    InjectXNaNX_ltXNaNX: [function({g, xx1}) { return g.inject(xx1).is(P.lt(Number.NaN)) }], 
-    InjectXNaNX_lteXNaNX: [function({g, xx1}) { return g.inject(xx1).is(P.lte(Number.NaN)) }], 
-    InjectXNaNX_gtXNaNX: [function({g, xx1}) { return g.inject(xx1).is(P.gt(Number.NaN)) }], 
-    InjectXNaNX_gteXNaNX: [function({g, xx1}) { return g.inject(xx1).is(P.gte(Number.NaN)) }], 
+    InjectXNaNX_eqXNaNX: [function({g}) { return g.inject(Number.NaN).is(P.eq(Number.NaN)) }], 
+    InjectXNaNX_neqXNaNX: [function({g}) { return g.inject(Number.NaN).is(P.neq(Number.NaN)) }], 
+    InjectXNaNX_ltXNaNX: [function({g}) { return g.inject(Number.NaN).is(P.lt(Number.NaN)) }], 
+    InjectXNaNX_lteXNaNX: [function({g}) { return g.inject(Number.NaN).is(P.lte(Number.NaN)) }], 
+    InjectXNaNX_gtXNaNX: [function({g}) { return g.inject(Number.NaN).is(P.gt(Number.NaN)) }], 
+    InjectXNaNX_gteXNaNX: [function({g}) { return g.inject(Number.NaN).is(P.gte(Number.NaN)) }], 
     InjectX1dX_eqXNaNX: [function({g}) { return g.inject(1.0).is(P.eq(Number.NaN)) }], 
     InjectX1dX_neqXNaNX: [function({g}) { return g.inject(1.0).is(P.neq(Number.NaN)) }], 
     InjectX1dX_ltXNaNX: [function({g}) { return g.inject(1.0).is(P.lt(Number.NaN)) }], 
@@ -1552,25 +1552,25 @@ const gremlins = {
     InjectX1dX_notXerrorX: [function({g}) { return g.inject(1).not(__.is(P.gt(Number.NaN))) }], 
     InjectX1dX_notXisXeqXNaNXXX: [function({g}) { return g.inject(1).not(__.is(P.eq(Number.NaN))) }], 
     InjectXInfX_eqXInfX: [function({g}) { return g.inject(Number.POSITIVE_INFINITY).is(P.eq(Number.POSITIVE_INFINITY)) }], 
-    InjectXInfArgX_eqXInfX: [function({g, xx1}) { return g.inject(xx1).is(P.eq(Number.POSITIVE_INFINITY)) }], 
+    InjectXInfArgX_eqXInfX: [function({g}) { return g.inject(Number.POSITIVE_INFINITY).is(P.eq(Number.POSITIVE_INFINITY)) }], 
     InjectXInfX_neqXInfX: [function({g}) { return g.inject(Number.POSITIVE_INFINITY).is(P.neq(Number.POSITIVE_INFINITY)) }], 
-    InjectXInfArgX_neqXInfX: [function({g, xx1}) { return g.inject(xx1).is(P.neq(Number.POSITIVE_INFINITY)) }], 
+    InjectXInfArgX_neqXInfX: [function({g}) { return g.inject(Number.POSITIVE_INFINITY).is(P.neq(Number.POSITIVE_INFINITY)) }], 
     InjectXNegInfX_eqXNegInfX: [function({g}) { return g.inject(Number.NEGATIVE_INFINITY).is(P.eq(Number.NEGATIVE_INFINITY)) }], 
-    InjectXNegInfArgX_eqXNegInfX: [function({g, xx1}) { return g.inject(xx1).is(P.eq(Number.NEGATIVE_INFINITY)) }], 
+    InjectXNegInfArgX_eqXNegInfX: [function({g}) { return g.inject(Number.NEGATIVE_INFINITY).is(P.eq(Number.NEGATIVE_INFINITY)) }], 
     InjectXNegInfX_neqXNegInfX: [function({g}) { return g.inject(Number.NEGATIVE_INFINITY).is(P.neq(Number.NEGATIVE_INFINITY)) }], 
-    InjectXNegInfArgX_neqXNegInfX: [function({g, xx1}) { return g.inject(xx1).is(P.neq(Number.NEGATIVE_INFINITY)) }], 
+    InjectXNegInfArgX_neqXNegInfX: [function({g}) { return g.inject(Number.NEGATIVE_INFINITY).is(P.neq(Number.NEGATIVE_INFINITY)) }], 
     InjectXInfX_gtXNegInfX: [function({g}) { return g.inject(Number.POSITIVE_INFINITY).is(P.gt(Number.NEGATIVE_INFINITY)) }], 
     InjectXInfX_ltXNegInfX: [function({g}) { return g.inject(Number.POSITIVE_INFINITY).is(P.lt(Number.NEGATIVE_INFINITY)) }], 
     InjectXNegInfX_ltXInfX: [function({g}) { return g.inject(Number.NEGATIVE_INFINITY).is(P.lt(Number.POSITIVE_INFINITY)) }], 
     InjectXNegInfX_gtXInfX: [function({g}) { return g.inject(Number.NEGATIVE_INFINITY).is(P.gt(Number.POSITIVE_INFINITY)) }], 
-    Primitives_Number_eqXbyteX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
-    Primitives_Number_eqXshortX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
-    Primitives_Number_eqXintX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
-    Primitives_Number_eqXlongX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
-    Primitives_Number_eqXbigintX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
-    Primitives_Number_eqXfloatX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
-    Primitives_Number_eqXdoubleX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
-    Primitives_Number_eqXbigdecimalX: [function({g, xx1, xx2}) { return g.inject(xx1).unfold().where(__.is(xx2)) }], 
+    Primitives_Number_eqXbyteX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
+    Primitives_Number_eqXshortX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
+    Primitives_Number_eqXintX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
+    Primitives_Number_eqXlongX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
+    Primitives_Number_eqXbigintX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
+    Primitives_Number_eqXfloatX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
+    Primitives_Number_eqXdoubleX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
+    Primitives_Number_eqXbigdecimalX: [function({g, xx1}) { return g.inject([1, 1, 1, 1, 1, 1, 1000, 1, 1]).unfold().where(__.is(xx1)) }], 
     g_V_values_order: [function({g}) { return g.V().values().order() }], 
     g_V_properties_order: [function({g}) { return g.V().properties().order() }], 
     g_V_properties_order_id: [function({g}) { return g.V().properties().order().id() }], 
@@ -1600,7 +1600,7 @@ const gremlins = {
     g_withStrategiesXProductiveByStrategyX_V_aggregateXlocal_xX_byXageX_capXxX: [function({g}) { return g.withStrategies(new ProductiveByStrategy()).V().aggregate(Scope.local, "x").by("age").cap("x") }], 
     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, 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, xx1}) { return g.withSideEffect("a", xx1).V().both().values("name").aggregate(Scope.local, "a").cap("a") }], 
+    g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX: [function({g}) { return g.V().both().values("name").aggregate(Scope.local, "a").cap("a") }], 
     g_withSideEffectXa_set_inlineX_V_both_name_aggregateXlocal_aX_capXaX: [function({g}) { return g.withSideEffect("a", new Set(["alice"])).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_aggregateXxX_byXvaluesXageX_isXgtX29XXX_capXxX: [function({g}) { return g.V().aggregate("x").by(__.values("age").is(P.gt(29))).cap("x") }], 
@@ -1628,10 +1628,10 @@ const gremlins = {
     g_withSideEffectXa_true_andX_V_constantXfalseX_aggregateXlocal_aX_capXaX: [function({g}) { return g.withSideEffect("a", true, Operator.and).V().constant(false).aggregate(Scope.local, "a").cap("a") }], 
     g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXaX_capXaX: [function({g}) { return g.withSideEffect("a", true, Operator.or).V().constant(false).aggregate("a").cap("a") }], 
     g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXlocal_aX_capXaX: [function({g}) { return g.withSideEffect("a", true, Operator.or).V().constant(false).aggregate(Scope.local, "a").cap("a") }], 
-    g_withSideEffectXa_xx1_addAllX_V_aggregateXaX_byXageX_capXaX: [function({g, xx1}) { return g.withSideEffect("a", xx1, Operator.addAll).V().aggregate("a").by("age").cap("a") }], 
-    g_withSideEffectXa_xx1_addAllX_V_aggregateXlocal_aX_byXageX_capXaX: [function({g, xx1}) { return g.withSideEffect("a", xx1, Operator.addAll).V().aggregate(Scope.local, "a").by("age").cap("a") }], 
-    g_withSideEffectXa_xx1_assignX_V_aggregateXaX_byXageX_capXaX: [function({g, xx1}) { return g.withSideEffect("a", xx1, Operator.assign).V().aggregate("a").by("age").cap("a") }], 
-    g_withSideEffectXa_xx1_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX: [function({g, xx1}) { return g.withSideEffect("a", xx1, Operator.assign).V().order().by("age").aggregate(Scope.local, "a").by("age").cap("a") }], 
+    g_withSideEffectXa_1_2_3_addAllX_V_aggregateXaX_byXageX_capXaX: [function({g}) { return g.withSideEffect("a", [1, 2, 3], Operator.addAll).V().aggregate("a").by("age").cap("a") }], 
+    g_withSideEffectXa_1_2_3_addAllX_V_aggregateXlocal_aX_byXageX_capXaX: [function({g}) { return g.withSideEffect("a", [1, 2, 3], Operator.addAll).V().aggregate(Scope.local, "a").by("age").cap("a") }], 
+    g_withSideEffectXa_1_2_3_assignX_V_aggregateXaX_byXageX_capXaX: [function({g}) { return g.withSideEffect("a", [1, 2, 3], Operator.assign).V().aggregate("a").by("age").cap("a") }], 
+    g_withSideEffectXa_1_2_3_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX: [function({g}) { return g.withSideEffect("a", [1, 2, 3], Operator.assign).V().order().by("age").aggregate(Scope.local, "a").by("age").cap("a") }], 
     g_V_fail: [function({g}) { return g.V().fail() }], 
     g_V_failXmsgX: [function({g}) { return g.V().fail("msg") }], 
     g_V_unionXout_failX: [function({g}) { return g.V().union(__.out(), __.fail()) }], 
@@ -1681,7 +1681,7 @@ const gremlins = {
     g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path: [function({g, vid1}) { return g.V(vid1).out().values("name").inject("daniel").as("a").map(__.length()).path() }], 
     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, xx1}) { return g.inject(xx1).select("name", "age") }], 
+    g_injectXname_marko_age_nullX_selectXname_ageX: [function({g}) { return g.inject(new Map([["name", "marko"], ["age", null]])).select("name", "age") }], 
     g_injectXnull_nullX: [function({g}) { return g.inject(null, null) }], 
     g_injectXnullX: [function({g}) { return g.inject(null) }], 
     g_inject: [function({g}) { return g.inject() }], 
@@ -1726,7 +1726,7 @@ const gremlins = {
     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_sackXassignX_byXageX_sack: [function({g}) { return g.V().sack(Operator.assign).by("age").sack() }], 
     g_withSackXBigInteger_TEN_powX1000X_assignX_V_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack: [function({g, xx1}) { return g.withSack(xx1, Operator.assign).V().local(__.out("knows").barrier(Barrier.normSack)).in_("knows").barrier().sack() }], 
-    g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack: [function({g, xx1}) { return g.withSack(2).V().sack(Operator.div).by(__.constant(xx1)).sack() }], 
+    g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack: [function({g}) { return g.withSack(2).V().sack(Operator.div).by(__.constant(4.0)).sack() }], 
     g_V_sackXassignX_byXageX_byXnameX_sack: [function({g}) { return g.V().sack(Operator.assign).by("age").by("name").sack() }], 
     g_V_sideEffectXidentityX: [function({g}) { return g.V().sideEffect(__.identity()) }], 
     g_V_sideEffectXidentity_valuesXnameXX: [function({g}) { return g.V().sideEffect(__.identity().values("name")) }], 
@@ -1756,7 +1756,7 @@ const gremlins = {
     g_V_groupXaX_by_byXout_label_tailX10X_foldX_capXaX_selectXvaluesX_unfold_orderXlocalX: [function({g}) { return g.V().group("a").by().by(__.out().label().tail(10).fold()).cap("a").select(Column.values).unfold().order(Scope.local) }], 
     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, 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, xx1}) { return g.withSideEffect("a", xx1).V().both().values("name").store("a").cap("a") }], 
+    g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX: [function({g}) { return g.V().both().values("name").store("a").cap("a") }], 
     g_withSideEffectXa_set_inlineX_V_both_name_storeXaX_capXaX: [function({g}) { return g.withSideEffect("a", new Set(["alice"])).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") }], 
     g_VX1X_outEXknowsX_subgraphXsgX_name_capXsgX: [function({g, vid1}) { return g.V(vid1).outE("knows").subgraph("sg").values("name").cap("sg") }], 
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
index 0296a7da94..dfd75a8422 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/world.js
@@ -38,6 +38,7 @@ function TinkerPopWorld(){
   this.cache = null;
   this.graphName = null;
   this.parameters = {};
+  this.sideEffects = {};
   this.isGraphComputer = false;
 }
 
diff --git a/gremlin-python/src/main/python/radish/feature_steps.py b/gremlin-python/src/main/python/radish/feature_steps.py
index 996a2fc1b9..7c9b81cc0a 100644
--- a/gremlin-python/src/main/python/radish/feature_steps.py
+++ b/gremlin-python/src/main/python/radish/feature_steps.py
@@ -104,6 +104,17 @@ def add_parameter(step, param_name, param):
     step.context.traversal_params[param_name] = _convert(param.replace('\\"', '"'), step.context)
 
 
+@given("using the side effect {key:w} defined as {value:QuotedString}")
+def add_side_effect(step, key, value):
+    if (step.context.ignore):
+        return
+
+    if not hasattr(step.context, "traversal_side_effects"):
+        step.context.traversal_side_effects = {}
+
+    step.context.traversal_side_effects[key] = _convert(value.replace('\\"', '"'), step.context)
+
+
 @given("the traversal of")
 def translate_traversal(step):
     if step.context.ignore == False:
@@ -128,6 +139,10 @@ def translate_traversal(step):
     p['g'] = localg
     step.context.traversal = step.context.traversals.pop(0)(**p)
 
+    if hasattr(step.context, "traversal_side_effects"):
+        for key in step.context.traversal_side_effects:
+            step.context.traversal.bytecode.add_source("withSideEffect", key, step.context.traversal_side_effects[key])
+
 
 @when("iterated to list")
 def iterate_the_traversal(step):
diff --git a/gremlin-python/src/main/python/radish/gremlin.py b/gremlin-python/src/main/python/radish/gremlin.py
index 7dfc4e035e..419ac999fe 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -51,8 +51,8 @@ world.gremlins = {
     'g_V_chooseXoutXknowsX_count_isXgtX0XX__outXknowsXX_name': [(lambda g:g.V().choose(__.out('knows').count().is_(P.gt(0)), __.out('knows')).values('name'))], 
     'g_V_hasLabelXpersonX_asXp1X_chooseXoutEXknowsX__outXknowsXX_asXp2X_selectXp1_p2X_byXnameX': [(lambda g:g.V().has_label('person').as_('p1').choose(__.out_e('knows'), __.out('knows')).as_('p2').select('p1', 'p2').by('name'))], 
     'g_V_hasLabelXpersonX_chooseXageX__optionX27L__constantXyoungXX_optionXnone__constantXoldXX_groupCount': [(lambda g, xx1=None:g.V().has_label('person').choose(__.values('age')).option(xx1, __.constant('young')).option(Pick.none, __.constant('old')).group_count())], 
-    '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_injectX1X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, xx1=None:g.inject(1).choose(__.is_(xx1), __.constant(10).fold(), __.fold()))], 
+    'g_injectX2X_chooseXisX1X__constantX10Xfold__foldX': [(lambda g, xx1=None:g.inject(2).choose(__.is_(xx1), __.constant(10).fold(), __.fold()))], 
     'g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_constantXxXX_optionXbetweenX20_30X_constantXyXX_optionXnone_constantXzXX': [(lambda g:g.V().has_label('person').choose(__.values('age')).option(P.between(26, 30), __.constant('x')).option(P.between(20, 30), __.constant('y')).option(Pick.none, __.constant('z')))], 
     'g_V_chooseXhasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_orXgtX34XX_constantXxXX_optionXgtX34X_constantXyXX_optionXnone_constantXzXX': [(lambda g:g.V().has_label('person').choose(__.values('age')).option(P.between(26, 30).or_(P.gt(34)), __.constant('x')).option(P.gt(34), __.constant('y')).option(Pick.none, __.constant('z')))], 
     'g_V_hasLabelXpersonX_chooseXageX_optionXbetweenX26_30X_nameX_optionXnone_nameX': [(lambda g:g.V().has_label('person').choose(__.values('age')).option(P.between(26, 30), __.values('name')).option(Pick.none, __.values('name')))], 
@@ -128,7 +128,7 @@ world.gremlins = {
     'g_unionXV_out_out_V_hasLabelXsoftwareXX_path_byXnameX': [(lambda g:g.union(__.V().out().out(), __.V().has_label('software')).path().by('name'))], 
     'g_unionXunionXV_out_outX_V_hasLabelXsoftwareXX_path_byXnameX': [(lambda g:g.union(__.union(__.V().out().out()), __.V().has_label('software')).path().by('name'))], 
     'g_unionXinjectX1X_injectX2X': [(lambda g:g.union(__.inject(1), __.inject(2)))], 
-    'g_V_unionXconstantX1X_constantX2X_constantX3XX': [(lambda g, xx1=None,xx3=None,xx2=None,vid2=None:g.V(vid2).union(__.constant(xx1), __.constant(xx2), __.constant(xx3)))], 
+    'g_V_unionXconstantX1X_constantX2X_constantX3XX': [(lambda g, vid2=None:g.V(vid2).union(__.constant(1), __.constant(2), __.constant(3)))], 
     'g_V_unionXout__inX_name': [(lambda g:g.V().union(__.out(), __.in_()).values('name'))], 
     'g_VX1X_unionXrepeatXoutX_timesX2X__outX_name': [(lambda g, vid1=None:g.V(vid1).union(__.repeat(__.out()).times(2), __.out()).values('name'))], 
     'g_V_chooseXlabel_is_person__unionX__out_lang__out_nameX__in_labelX': [(lambda g:g.V().choose(__.label().is_('person'), __.union(__.out().values('lang'), __.out().values('name')), __.in_().label()))], 
@@ -397,13 +397,13 @@ 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').values('name').is_('josh')).in_('created').values('name'))], 
-    'g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX': [(lambda g, xx1=None,vid1=None:g.with_side_effect('a', xx1).V(vid1).out('created').in_('created').values('name').where(P.within('a')))], 
+    'g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX': [(lambda g, vid1=None:g.with_side_effect('a', ['josh', 'peter']).V(vid1).out('created').in_('created').values('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')).values('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')).values('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')).values('name'))], 
     'g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX': [(lambda g, vid1=None:g.V(vid1).out().aggregate('x').out().where(P.not_(P.within('x'))))], 
-    'g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX': [(lambda g, vid2=None,vid1=None:g.with_side_effect('a', vid2).V(vid1).out().where(__.id_().where(P.neq('a'))))], 
+    'g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX': [(lambda g, vid1=None:g.V(vid1).out().where(__.id_().where(P.neq('a'))))], 
     'g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path': [(lambda g, vid1=None:g.V(vid1).repeat(__.both_e('created').where(P.without('e')).aggregate('e').other_v()).emit().path())], 
     'g_V_whereXnotXoutXcreatedXXX_name': [(lambda g: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': [(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.not_(P.eq(0)))))).select('a', 'b'))], 
@@ -465,7 +465,7 @@ world.gremlins = {
     'g_withoutStrategiesXMatchPredicateStrategyX_V_matchXa_created_lop_b__b_0created_29_cX_whereXc_repeatXoutX_timesX2XX_selectXa_b_cX': [(lambda g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.MatchPredicateStrategy')]).V().match(__.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('a', 'b', 'c'))], 
     'g_withStrategiesXMessagePassingReductionStrategyX_V': [(lambda g:g.with_strategies(MessagePassingReductionStrategy()).V())], 
     'g_withoutStrategiesXMessagePassingReductionStrategyX_V': [(lambda g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.MessagePassingReductionStrategy')]).V())], 
-    'g_V_coworker': [(lambda g, xx1=None:g.V().has_label('person').filter_(__.out_e('created')).aggregate('p').as_('p1').values('name').as_('p1n').select('p').unfold().where(P.neq('p1')).as_('p2').values('name').as_('p2n').select('p2').out('created').choose(__.in_('created').where(P.eq('p1')), __.values('name'), __.constant(xx1)).group().by(__.select('p1n')).by(__.group().by(__.select('p2n')).by(__.unfold().fold().project('numCoCreated', 'coCreated').by(__.count(Scope.local)).by())).unfo [...]
+    'g_V_coworker': [(lambda g:g.V().has_label('person').filter_(__.out_e('created')).aggregate('p').as_('p1').values('name').as_('p1n').select('p').unfold().where(P.neq('p1')).as_('p2').values('name').as_('p2n').select('p2').out('created').choose(__.in_('created').where(P.eq('p1')), __.values('name'), __.constant([])).group().by(__.select('p1n')).by(__.group().by(__.select('p2n')).by(__.unfold().fold().project('numCoCreated', 'coCreated').by(__.count(Scope.local)).by())).unfold())], 
     'g_V_coworker_with_midV': [(lambda g:g.V().has_label('person').filter_(__.out_e('created')).as_('p1').V().has_label('person').where(P.neq('p1')).filter_(__.out_e('created')).as_('p2').map(__.out('created').where(__.in_('created').as_('p1')).values('name').fold()).group().by(__.select('p1').by('name')).by(__.group().by(__.select('p2').by('name')).by(__.project('numCoCreated', 'coCreated').by(__.count(Scope.local)).by())).unfold())], 
     'g_withStrategiesXOptionsStrategyX_V': [(lambda g:g.with_strategies(OptionsStrategy()).V())], 
     'g_withStrategiesXOptionsStrategyXmyVar_myValueXX_V': [(lambda g:g.with_strategies(OptionsStrategy(my_var='myValue')).V())], 
@@ -597,7 +597,7 @@ world.gremlins = {
     '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.add_v('person').property('name', 'marko').property('age', 29).as_('marko').add_v('person').property('name', 'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh').property('age', 32).as_('josh').add_v('software').property(' [...]
     'g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X': [(lambda g, vid1=None,vid2=None,vid4=None,vid6=None:g.add_v('person').property('name', 'marko').property('age', 29).as_('marko').add_v('person').property('name', 'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh').property('age', 32).as_('josh').add_v('software').prope [...]
     '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.add_v('person').property('name', 'marko').property('age', 29).as_('marko').add_v('person').property('name', 'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh').property('age', 32).as_('josh').add_v('software').prope [...]
-    'g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X': [(lambda g, vid6=None,vid1=None:g.add_v('person').property('name', 'marko').property('age', 29).as_('marko').add_v('person').property('name', 'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh').property('age', 32).as_('josh').add_v('software').property('name', 'ripple').property('lang', 'java').as_('ripple'). [...]
+    'g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X': [(lambda g, vid1=None,vid6=None:g.add_v('person').property('name', 'marko').property('age', 29).as_('marko').add_v('person').property('name', 'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh').property('age', 32).as_('josh').add_v('software').property('name', 'ripple').property('lang', 'java').as_('ripple'). [...]
     'g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX': [(lambda g:g.add_v().as_('first').repeat(__.add_e('next').to(__.add_v()).in_v()).times(5).add_e('next').to(__.select('first'))), (lambda g:g.V()), (lambda g:g.E()), (lambda g:g.E().has_label('next')), (lambda g:g.V().limit(1).both_e()), (lambda g:g.V().limit(1).in_e()), (lambda g:g.V().limit(1).out_e())], 
     'g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX': [(lambda g, vid1=None:g.add_v('person').property('name', 'marko').property('age', 29).as_('marko').add_v('person').property('name', 'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh').property('age', 32).as_('josh').add_v('software').property('name', 'ripple').property('lang', 'java').as_('ripple' [...]
     'g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX': [(lambda g, vid2=None:g.add_v('person').property('name', 'marko').property('age', 29).as_('marko').add_v('person').property('name', 'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh').property('age', 32).as_('josh').add_v('software').property [...]
@@ -717,8 +717,8 @@ world.gremlins = {
     'g_injectXa_bX_concat_XcX': [(lambda g:g.inject('a', 'b').concat('c'))], 
     'g_injectXa_bX_concat_Xc_dX': [(lambda g:g.inject('a', 'b').concat('c', 'd'))], 
     'g_injectXa_bX_concat_Xinject_c_dX': [(lambda g:g.inject('a', 'b').concat(__.inject('c')))], 
-    'g_injectXaX_concat_Xinject_List_b_cX': [(lambda g, xx1=None:g.inject('a').concat(__.inject(xx1)))], 
-    'g_injectXListXa_bXcX_concat_XdX': [(lambda g, xx1=None:g.inject(xx1, 'c').concat('d'))], 
+    'g_injectXaX_concat_Xinject_List_b_cX': [(lambda g:g.inject('a').concat(__.inject(['b', 'c'])))], 
+    'g_injectXListXa_bXcX_concat_XdX': [(lambda g:g.inject(['a', 'b'], 'c').concat('d'))], 
     'g_injectXnullX_concat_XinjectX': [(lambda g:g.inject(None).concat())], 
     'g_injectXnull_aX_concat_Xnull_bX': [(lambda g:g.inject(None, 'a').concat(None, 'b'))], 
     'g_injectXhello_hiX_concat_XV_valuesXnameXX': [(lambda g:g.inject('hello', 'hi').concat(__.V().order().by(T.id_).values('name')))], 
@@ -734,11 +734,11 @@ world.gremlins = {
     'g_V_valuesXnameX_order_fold_conjoinX_X': [(lambda g:g.V().values('name').order().fold().conjoin('_'))], 
     'g_V_valuesXageX_order_fold_conjoinX_X': [(lambda g:g.V().values('age').order().fold().conjoin(';'))], 
     'g_V_out_path_byXvaluesXnameX_toUpperX_conjoinXMARKOX': [(lambda g:g.V().out().path().by(__.values('name').to_upper()).conjoin('MARKO'))], 
-    'g_injectXmarkoX_conjoinX_X': [(lambda g, xx1=None:g.inject(xx1).conjoin('-'))], 
+    'g_injectXmarkoX_conjoinX_X': [(lambda g:g.inject(['marko']).conjoin('-'))], 
     'g_V_valueMapXlocationX_selectXvaluesX_unfold_orderXlocalX_conjoinX1X': [(lambda g:g.V().value_map('location').select(Column.values).unfold().order(Scope.local).conjoin('1'))], 
     'g_V_out_out_path_byXnameX_conjoinXX': [(lambda g:g.V().out().out().path().by('name').conjoin(''))], 
-    'g_injectXa_null_bX_conjoinXxyzX': [(lambda g, xx1=None:g.inject(xx1).conjoin('xyz'))], 
-    'g_injectX3_threeX_conjoinX_X': [(lambda g, xx1=None:g.inject(xx1).conjoin(';'))], 
+    'g_injectXa_null_bX_conjoinXxyzX': [(lambda g:g.inject(['a', None, 'b']).conjoin('xyz'))], 
+    'g_injectX3_threeX_conjoinX_X': [(lambda g:g.inject([3, 'three']).conjoin(';'))], 
     'g_V_connectedComponent_hasXcomponentX': [(lambda g:g.V().connected_component().has('gremlin.connectedComponentVertexProgram.component'))], 
     'g_V_dedup_connectedComponent_hasXcomponentX': [(lambda g:g.V().dedup().connected_component().has('gremlin.connectedComponentVertexProgram.component'))], 
     'g_V_hasLabelXsoftwareX_connectedComponent_project_byXnameX_byXcomponentX': [(lambda g:g.V().has_label('software').connected_component().project('name', 'component').by('name').by('gremlin.connectedComponentVertexProgram.component'))], 
@@ -779,13 +779,13 @@ world.gremlins = {
     'g_V_valuesXnonexistantX_fold_differenceXV_valuesXnameX_foldX': [(lambda g:g.V().values('nonexistant').fold().difference(__.V().values('name').fold()))], 
     'g_V_valuesXnameX_fold_differenceXV_valuesXnonexistantX_foldX': [(lambda g:g.V().values('name').fold().difference(__.V().values('nonexistant').fold()))], 
     'g_V_valuesXageX_fold_differenceXV_valuesXageX_foldX': [(lambda g:g.V().values('age').fold().difference(__.V().values('age').fold()))], 
-    'g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX': [(lambda g, xx1=None:g.V().out().path().by(__.values('name').to_upper()).difference(xx1))], 
-    'g_injectXmarkoX_differenceXV_valuesXnameX_foldX': [(lambda g, xx1=None:g.inject(xx1).difference(__.V().values('name').fold()))], 
-    'g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX': [(lambda g, xx1=None:g.V().value_map('location').select(Column.values).unfold().difference(xx1))], 
-    'g_V_out_out_path_byXnameX_differenceXrippleX': [(lambda g, xx1=None:g.V().out().out().path().by('name').difference(xx1))], 
-    'g_V_out_out_path_byXnameX_differenceXempty_listX': [(lambda g, xx1=None:g.V().out().out().path().by('name').difference(xx1))], 
+    'g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX': [(lambda g:g.V().out().path().by(__.values('name').to_upper()).difference(['MARKO']))], 
+    'g_injectXmarkoX_differenceXV_valuesXnameX_foldX': [(lambda g:g.inject(['marko']).difference(__.V().values('name').fold()))], 
+    'g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX': [(lambda g:g.V().value_map('location').select(Column.values).unfold().difference(['seattle', 'vancouver']))], 
+    'g_V_out_out_path_byXnameX_differenceXrippleX': [(lambda g:g.V().out().out().path().by('name').difference(['ripple']))], 
+    'g_V_out_out_path_byXnameX_differenceXempty_listX': [(lambda g:g.V().out().out().path().by('name').difference([]))], 
     'g_V_valuesXageX_fold_differenceXconstantX27X_foldX': [(lambda g:g.V().values('age').fold().difference(__.constant(27).fold()))], 
-    'g_V_out_out_path_byXnameX_differenceXdave_kelvinX': [(lambda g, xx1=None:g.V().out().out().path().by('name').difference(xx1))], 
+    'g_V_out_out_path_byXnameX_differenceXdave_kelvinX': [(lambda g:g.V().out().out().path().by('name').difference(['dave', 'kelvin']))], 
     'g_injectXa_null_bX_differenceXa_cX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).difference(xx2))], 
     'g_injectXa_null_bX_differenceXa_null_cX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).difference(xx2))], 
     'g_injectX3_threeX_differenceXfive_three_7X': [(lambda g, xx1=None,xx2=None:g.inject(xx1).difference(xx2))], 
@@ -798,14 +798,14 @@ world.gremlins = {
     'g_V_valuesXnonexistantX_fold_disjunctXV_valuesXnameX_foldX': [(lambda g:g.V().values('nonexistant').fold().disjunct(__.V().values('name').fold()))], 
     'g_V_valuesXnameX_fold_disjunctXV_valuesXnonexistantX_foldX': [(lambda g:g.V().values('name').fold().disjunct(__.V().values('nonexistant').fold()))], 
     'g_V_valuesXageX_fold_disjunctXV_valuesXageX_foldX': [(lambda g:g.V().values('age').fold().disjunct(__.V().values('age').fold()))], 
-    'g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX': [(lambda g, xx1=None:g.V().out().path().by(__.values('name').to_upper()).disjunct(xx1))], 
-    'g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX': [(lambda g, xx1=None:g.V().value_map('location').select(Column.values).unfold().disjunct(xx1))], 
-    'g_V_out_out_path_byXnameX_disjunctXmarkoX': [(lambda g, xx1=None:g.V().out().out().path().by('name').disjunct(xx1))], 
-    'g_V_out_out_path_byXnameX_disjunctXstephen_markoX': [(lambda g, xx1=None:g.V().out().out().path().by('name').disjunct(xx1))], 
-    'g_V_out_out_path_byXnameX_disjunctXdave_kelvinX': [(lambda g, xx1=None:g.V().out().out().path().by('name').disjunct(xx1))], 
-    'g_injectXa_null_bX_disjunctXa_cX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).disjunct(xx2))], 
-    'g_injectXa_null_bX_disjunctXa_null_cX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).disjunct(xx2))], 
-    'g_injectX3_threeX_disjunctXfive_three_7X': [(lambda g, xx1=None,xx2=None:g.inject(xx1).disjunct(xx2))], 
+    'g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX': [(lambda g:g.V().out().path().by(__.values('name').to_upper()).disjunct(['MARKO']))], 
+    'g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX': [(lambda g:g.V().value_map('location').select(Column.values).unfold().disjunct(['seattle', 'vancouver']))], 
+    'g_V_out_out_path_byXnameX_disjunctXmarkoX': [(lambda g:g.V().out().out().path().by('name').disjunct(['marko']))], 
+    'g_V_out_out_path_byXnameX_disjunctXstephen_markoX': [(lambda g:g.V().out().out().path().by('name').disjunct(['stephen', 'marko']))], 
+    'g_V_out_out_path_byXnameX_disjunctXdave_kelvinX': [(lambda g:g.V().out().out().path().by('name').disjunct(['dave', 'kelvin']))], 
+    'g_injectXa_null_bX_disjunctXa_cX': [(lambda g:g.inject(['a', None, 'b']).disjunct(['a', 'c']))], 
+    'g_injectXa_null_bX_disjunctXa_null_cX': [(lambda g:g.inject(['a', None, 'b']).disjunct(['a', None, 'c']))], 
+    'g_injectX3_threeX_disjunctXfive_three_7X': [(lambda g:g.inject([3, 'three']).disjunct(['five', 'three', 7]))], 
     'g_E': [(lambda g:g.E())], 
     'g_EX11X': [(lambda g, eid11=None:g.E(eid11))], 
     'g_EX11AsStringX': [(lambda g, eid11=None:g.E(eid11))], 
@@ -864,7 +864,7 @@ world.gremlins = {
     'g_V_valuesXnonexistantX_fold_intersectXV_valuesXnameX_foldX': [(lambda g:g.V().values('nonexistant').fold().intersect(__.V().values('name').fold()))], 
     'g_V_valuesXnameX_fold_intersectXV_valuesXnonexistantX_foldX': [(lambda g:g.V().values('name').fold().intersect(__.V().values('nonexistant').fold()))], 
     'g_V_valuesXageX_fold_intersectXV_valuesXageX_foldX_order_local': [(lambda g:g.V().values('age').fold().intersect(__.V().values('age').fold()).order(Scope.local))], 
-    'g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX': [(lambda g, xx1=None:g.V().out().path().by(__.values('name').to_upper()).intersect(xx1))], 
+    'g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX': [(lambda g:g.V().out().path().by(__.values('name').to_upper()).intersect(['MARKO']))], 
     'g_injectXmarkoX_intersectX___V_valuesXnameX_foldX': [(lambda g, xx1=None:g.inject(xx1).intersect(__.V().values('name').fold()))], 
     'g_V_valueMapXlocationX_selectXvaluesX_unfold_intersectXseattle_vancouverX': [(lambda g, xx1=None:g.V().value_map('location').select(Column.values).unfold().intersect(xx1))], 
     'g_V_valuesXageX_fold_intersectX___constantX27X_foldX': [(lambda g:g.V().values('age').fold().intersect(__.constant(27).fold()))], 
@@ -881,7 +881,7 @@ world.gremlins = {
     'g_V_valuesXnameX_order_fold_lTrimXlocalX': [(lambda g:g.add_v('person').property('name', ' marko ').property('age', 29).as_('marko').add_v('person').property('name', '  vadas  ').property('age', 27).as_('vadas').add_v('software').property('name', '  lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh  ').property('age', 32).as_('josh').add_v('software').property('name', '   ripple   ').property('lang', 'java').as_('ripple').add_v('person').property('name [...]
     'g_injectXfeature_test_nullX_length': [(lambda g:g.inject('feature', 'test', None).length())], 
     'g_injectXfeature_test_nullX_lengthXlocalX': [(lambda g:g.inject('feature', 'test', None).length(Scope.local))], 
-    'g_injectXListXa_bXX_length': [(lambda g, xx1=None:g.inject(xx1).length())], 
+    'g_injectXListXa_bXX_length': [(lambda g:g.inject(['a', 'b']).length())], 
     'g_V_valuesXnameX_length': [(lambda g:g.V().values('name').length())], 
     'g_V_valuesXnameX_order_fold_lengthXlocalX': [(lambda g:g.V().values('name').order().fold().length(Scope.local))], 
     'g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX': [(lambda g, vid1=None:g.V(vid1).repeat(__.both().simple_path()).until(__.has('name', 'peter').or_().loops().is_(3)).has('name', 'peter').path().by('name'))], 
@@ -933,7 +933,7 @@ world.gremlins = {
     'g_V_outE_mathX0_minus_itX_byXweightX': [(lambda g:g.V().out_e().math('0-_').by('weight'))], 
     'g_V_hasXageX_valueMap_mathXit_plus_itXbyXselectXageX_unfoldXX': [(lambda g:g.V().has('age').value_map().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, xx1=None:g.with_side_effect('x', xx1).V().values('age').math('_ + x'))], 
+    'g_withSideEffectXx_100X_V_age_mathX__plus_xX': [(lambda g:g.with_side_effect('x', 100).V().values('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.with_sack(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(__.both_e().values('weight').sum_()).by(__.both_e().count()).by('name').order().by(__.math('a / b'), Order.desc).select('c'))], 
@@ -971,8 +971,8 @@ world.gremlins = {
     'g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_meanXlocalX': [(lambda g:g.with_strategies(ProductiveByStrategy()).V().aggregate('a').by('foo').cap('a').mean(Scope.local))], 
     'g_V_aggregateXaX_byXfooX_capXaX_unfold_mean': [(lambda g:g.V().aggregate('a').by('foo').cap('a').unfold().mean())], 
     'g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_mean': [(lambda g:g.with_strategies(ProductiveByStrategy()).V().aggregate('a').by('foo').cap('a').unfold().mean())], 
-    'g_injectXnull_10_20_nullX_mean': [(lambda g, xx1=None,xx2=None:g.inject(None, xx1, xx2, None).mean())], 
-    'g_injectXlistXnull_10_20_nullXX_meanXlocalX': [(lambda g, xx1=None:g.inject(xx1).mean(Scope.local))], 
+    'g_injectXnull_10_20_nullX_mean': [(lambda g:g.inject(None, 10, 20, None).mean())], 
+    'g_injectXlistXnull_10_20_nullXX_meanXlocalX': [(lambda g:g.inject([None, 10, 20, None]).mean(Scope.local))], 
     'g_VX1X_valuesXageX_meanXlocalX': [(lambda g, vid1=None:g.V(vid1).values('age').mean(Scope.local))], 
     'g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_meanXlocalX': [(lambda g:g.V().local(__.union(__.values('age'), __.out_e().values('weight')).fold()).mean(Scope.local))], 
     'g_injectXnullX_mergeXinjectX1XX': [(lambda g:g.inject(None).merge(__.inject(1)))], 
@@ -981,7 +981,7 @@ world.gremlins = {
     'g_V_fold_mergeXVX': [(lambda g:g.V().fold().merge(__.V()))], 
     'g_V_elementMap_mergeXconstantXaXX': [(lambda g:g.V().element_map().merge(__.constant('a')))], 
     'g_V_fold_mergeXV_asXaX_projectXaX_byXnameXX': [(lambda g:g.V().fold().merge(__.V().as_('a').project('a').by('name')))], 
-    'g_V_fold_mergeXk_vX': [(lambda g, xx1=None:g.V().fold().merge(xx1))], 
+    'g_V_fold_mergeXk_vX': [(lambda g:g.V().fold().merge({ 'k': 'v' }))], 
     'g_V_valuesXnameX_fold_mergeX2X': [(lambda g:g.V().values('name').fold().merge(2))], 
     'g_V_valuesXnameX_fold_mergeXnullX': [(lambda g:g.V().values('name').fold().merge(None))], 
     'g_V_valuesXnonexistantX_fold_mergeXV_valuesXnameX_foldX': [(lambda g:g.V().values('nonexistant').fold().merge(__.V().values('name').fold()))], 
@@ -1007,7 +1007,7 @@ world.gremlins = {
     'g_mergeEXnullX': [(lambda g:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g:g.merge_e(None))], 
     'g_V_mergeEXnullX': [(lambda g:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g:g.V().merge_e(None))], 
     'g_mergeEXlabel_knows_out_marko_in_vadasX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None:g.merge_e(xx1)), (lambda g, xx1=None:g.V().has('person', 'name', 'marko').out('knows').has('person', 'name', 'vadas'))], 
-    'g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None:g.with_side_effect('a', xx1).merge_e(__.select('a'))), (lambda g, xx1=None:g.V().has('person', 'name', 'marko').out('knows').has('person', 'name', 'vadas'))], 
+    'g_withSideEffectXa_label_knows_out_marko_in_vadasX_mergeEXselectXaXX': [(lambda g:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g:g.merge_e(__.select('a'))), (lambda g:g.V().has('person', 'name', 'marko').out('knows').has('person', 'name', 'vadas'))], 
     'g_mergeEXlabel_knows_out_marko1_in_vadas1X': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None:g.merge_e(xx1)), (lambda g, xx1=None:g.V().has('person', 'name', 'marko').out('knows').has('person', 'name', 'vadas'))], 
     'g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X_exists': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b').add_e('knows').from_('a').to('b')), (lambda g, xx1=None:g.merge_e(xx1)), (lambda g, xx1=None:g.V().has('person', 'name', 'marko').out_e('knows').has('weight', 0.5).in_v().has('person', 'name', 'vadas')), (lambda g, xx1=None:g.V().has('person', 'name', 'marko').out('knows').has('person', 'name', 'vadas'))], 
     'g_mergeEXlabel_knows_out_marko_in_vadas_weight_05X': [(lambda g, xx1=None:g.merge_e(xx1))], 
@@ -1020,12 +1020,12 @@ world.gremlins = {
     'g_mergeEXlabel_knows_out_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated': [(lambda g, xx1=None,xx3=None,xx2=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b').add_e('knows').from_('a').to('b').property('created', 'Y').add_e('knows').from_('b').to('a').property('created', 'Y')), (lambda g, xx1=None,xx3=None,xx2=None:g.merge_e(xx1).option(Merge.on_create, xx2).option(Merge.on_match, xx3)), (lambda g, [...]
     'g_mergeEXout_vadasX_optionXonCreate_created_YX_optionXonMatch_created_NX_exists_updated': [(lambda g, xx1=None,xx3=None,xx2=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b').add_e('knows').from_('a').to('b').property('created', 'Y').add_e('knows').from_('b').to('a').property('created', 'Y')), (lambda g, xx1=None,xx3=None,xx2=None:g.merge_e(xx1).option(Merge.on_create, xx2).option(Merge.on_match, xx3)), (lambda g, xx1=None,xx [...]
     'g_V_hasXperson_name_marko_X_mergeEXlabel_self_out_vadas1_in_vadas1X': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None:g.V().has('person', 'name', 'marko').merge_e(xx1)), (lambda g, xx1=None:g.V()), (lambda g, xx1=None:g.E()), (lambda g, xx1=None:g.E().has_label('self').both_v().has('name', 'vadas'))], 
-    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists': [(lambda g, xx1=None,xx3=None,xx2=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b').add_e('knows').from_('a').to('b')), (lambda g, xx1=None,xx3=None,xx2=None:g.with_side_effect('c', xx2).with_side_effect('m', xx3).merge_e(xx1).option(Merge.on_create, __.select('c')).opti [...]
-    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX': [(lambda g, xx1=None,xx3=None,xx2=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b')), (lambda g, xx1=None,xx3=None,xx2=None:g.with_side_effect('c', xx2).with_side_effect('m', xx3).merge_e(xx1).option(Merge.on_create, __.select('c')).option(Merge.on_match, __.select('m'))), (lam [...]
-    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX': [(lambda g, xx1=None,xx3=None,xx2=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b')), (lambda g, xx1=None,xx3=None,xx2=None:g.with_side_effect('c', xx2).with_side_effect('m', xx3).merge_e(xx1).option(Merge.on_create, __.select('c')).option(Merge.on_match, __.select('m'))), (l [...]
+    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX_exists': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b').add_e('knows').from_('a').to('b')), (lambda g, xx1=None:g.merge_e(xx1).option(Merge.on_create, __.select('c')).option(Merge.on_match, __.select('m'))), (lambda g, xx1=None:g.V()), (lambda g, xx1=None:g.E() [...]
+    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b')), (lambda g, xx1=None:g.merge_e(xx1).option(Merge.on_create, __.select('c')).option(Merge.on_match, __.select('m'))), (lambda g, xx1=None:g.V()), (lambda g, xx1=None:g.E()), (lambda g, xx1=None:g.E().has_label('k [...]
+    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko1_in_vadas1X_optionXonCreate_selectXcXX_optionXonMatch_selectXmXX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b')), (lambda g, xx1=None:g.merge_e(xx1).option(Merge.on_create, __.select('c')).option(Merge.on_match, __.select('m'))), (lambda g, xx1=None:g.V()), (lambda g, xx1=None:g.E()), (lambda g, xx1=None:g.E().has_label( [...]
     'g_mergeEXlabel_knows_out_marko_in_vadasX_aliased_direction': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None:g.merge_e(xx1)), (lambda g, xx1=None:g.V().has('person', 'name', 'marko').out('knows').has('person', 'name', 'vadas'))], 
     'g_injectXlabel_knows_out_marko_in_vadas_label_self_out_vadas_in_vadasX': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None,xx2=None:g.inject(xx1, xx2).merge_e()), (lambda g, xx1=None,xx2=None:g.V()), (lambda g, xx1=None,xx2=None:g.E()), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'marko').out('knows').has('person', 'name', 'vadas')), (lambda g, xx1=None,xx2=None:g.V().has('person', ' [...]
-    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists': [(lambda g, xx1=None,xx3=None,xx2=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b').add_e('knows').property('weight', 1.0).from_('a').to('b')), (lambda g, xx1=None,xx3=None,xx2=None:g.with_side_effect('c', xx2).with_side_effect('m', xx [...]
+    'g_withSideEffectXc_created_YX_withSideEffectXm_matchedX_mergeEXlabel_knows_out_marko_in_vadasX_optionXonCreate_selectXcXX_optionXonMatch_sideEffectXpropertiesXweightX_dropX_selectXmXX_exists': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').as_('a').add_v('person').property('name', 'vadas').as_('b').add_e('knows').property('weight', 1.0).from_('a').to('b')), (lambda g, xx1=None:g.merge_e(xx1).option(Merge.on_create, __.select('c')).option(Merge.on_match, __.side_eff [...]
     'g_mergeE_with_outVinV_options_map': [(lambda g, xx1=None,xx3=None,xx2=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None,xx3=None,xx2=None:g.merge_e(xx1).option(Merge.out_v, xx2).option(Merge.in_v, xx3)), (lambda g, xx1=None,xx3=None,xx2=None:g.V()), (lambda g, xx1=None,xx3=None,xx2=None:g.V().has('name', 'marko').out('knows').has('name', 'vadas'))], 
     'g_mergeE_with_outVinV_options_select': [(lambda g, xx1=None,vid2=None,vid1=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None,vid2=None,vid1=None:g.V(vid1).as_('x').V(vid2).as_('y').merge_e(xx1).option(Merge.out_v, __.select('x')).option(Merge.in_v, __.select('y'))), (lambda g, xx1=None,vid2=None,vid1=None:g.V()), (lambda g, xx1=None,vid2=None,vid1=None:g.V().has('name', 'marko').out('knows').has('name', 'vadas'))], 
     'g_mergeE_with_eid_specified_and_inheritance_1': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').add_v('person').property('name', 'vadas')), (lambda g, xx1=None,xx2=None:g.merge_e(xx1).option(Merge.on_create, xx2)), (lambda g, xx1=None,xx2=None:g.V()), (lambda g, xx1=None,xx2=None:g.E()), (lambda g, xx1=None,xx2=None:g.E('201')), (lambda g, xx1=None,xx2=None:g.V().has('name', 'marko').out('knows').has('name', 'vadas'))], 
@@ -1061,23 +1061,23 @@ world.gremlins = {
     'g_mergeVXlabel_person_name_markoX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None:g.merge_v(xx1)), (lambda g, xx1=None:g.V().has('person', 'name', 'marko'))], 
     'g_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.merge_v(xx1).option(Merge.on_create, xx2)), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'stephen').has('age', 19))], 
     'g_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.merge_v(xx1).option(Merge.on_match, xx2)), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'marko').has('age', 19))], 
-    'g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.with_side_effect('c', xx1).with_side_effect('m', xx2).merge_v(__.select('c')).option(Merge.on_create, __.select('m'))), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'stephen').has('age', 19))], 
-    'g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.with_side_effect('c', xx1).with_side_effect('m', xx2).merge_v(__.select('c')).option(Merge.on_match, __.select('m'))), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'marko').has('age', 19))], 
+    'g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option': [(lambda g:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g:g.merge_v(__.select('c')).option(Merge.on_create, __.select('m'))), (lambda g:g.V().has('person', 'name', 'stephen').has('age', 19))], 
+    'g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option': [(lambda g:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g:g.merge_v(__.select('c')).option(Merge.on_match, __.select('m'))), (lambda g:g.V().has('person', 'name', 'marko').has('age', 19))], 
     'g_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None:g.merge_v(xx1).property('name', 'vadas', 'acl', 'public')), (lambda g, xx1=None:g.V().properties('name').has_value('vadas').has('acl', 'public'))], 
     'g_injectX0X_mergeVXlabel_person_name_stephenX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None:g.inject(0).merge_v(xx1)), (lambda g, xx1=None:g.V().has('person', 'name', 'stephen'))], 
     'g_injectX0X_mergeVXlabel_person_name_markoX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None:g.inject(0).merge_v(xx1)), (lambda g, xx1=None:g.V().has('person', 'name', 'marko'))], 
     'g_injectX0X_mergeVXlabel_person_name_stephenX_optionXonCreate_label_person_name_stephen_age_19X_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.inject(0).merge_v(xx1).option(Merge.on_create, xx2)), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'stephen').has('age', 19))], 
     'g_injectX0X_mergeVXlabel_person_name_markoX_optionXonMatch_age_19X_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.inject(0).merge_v(xx1).option(Merge.on_match, xx2)), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'marko').has('age', 19))], 
-    'g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.with_side_effect('c', xx1).with_side_effect('m', xx2).inject(0).merge_v(__.select('c')).option(Merge.on_create, __.select('m'))), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'stephen').h [...]
-    'g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.with_side_effect('c', xx1).with_side_effect('m', xx2).inject(0).merge_v(__.select('c')).option(Merge.on_match, __.select('m'))), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'marko').has('age', 19))], 
+    'g_withSideEffectXc_label_person_name_stephenX_withSideEffectXm_label_person_name_stephen_age_19X_injectX0X_mergeVXselectXcXX_optionXonCreate_selectXmXX_option': [(lambda g:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g:g.inject(0).merge_v(__.select('c')).option(Merge.on_create, __.select('m'))), (lambda g:g.V().has('person', 'name', 'stephen').has('age', 19))], 
+    'g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_injectX0X_mergeVXselectXcXX_optionXonMatch_selectXmXX_option': [(lambda g:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g:g.inject(0).merge_v(__.select('c')).option(Merge.on_match, __.select('m'))), (lambda g:g.V().has('person', 'name', 'marko').has('age', 19))], 
     'g_injectX0X_mergeVXlabel_person_name_markoX_propertyXname_vadas_acl_publicX': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None:g.inject(0).merge_v(xx1).property('name', 'vadas', 'acl', 'public')), (lambda g, xx1=None:g.V().properties('name').has_value('vadas').has('acl', 'public'))], 
     'g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeVXidentityX': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.inject(xx1, xx2).merge_v(__.identity())), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'stephen')), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'marko')), (lambda g, xx1=None,xx2=None:g.V())], 
     'g_injectXlabel_person_name_marko_label_person_name_stephenX_mergeV': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property('age', 29)), (lambda g, xx1=None,xx2=None:g.inject(xx1, xx2).merge_v()), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'stephen')), (lambda g, xx1=None,xx2=None:g.V().has('person', 'name', 'marko')), (lambda g, xx1=None,xx2=None:g.V())], 
     'g_mergeVXlabel_person_name_stephenX_propertyXlist_name_steveX': [(lambda g, xx1=None:g.add_v('person').property(Cardinality.list_, 'name', 'stephen')), (lambda g, xx1=None:g.merge_v(xx1).property(Cardinality.list_, 'name', 'steve')), (lambda g, xx1=None:g.V()), (lambda g, xx1=None:g.V().properties('name').has_value('steve')), (lambda g, xx1=None:g.V().properties('name').has_value('stephen')), (lambda g, xx1=None:g.V().properties('name'))], 
     'g_mergeXlabel_person_name_vadasX_optionXonMatch_age_35X': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'vadas').property('age', 29).add_v('person').property('name', 'vadas').property('age', 27)), (lambda g, xx1=None,xx2=None:g.merge_v(xx1).option(Merge.on_match, xx2)), (lambda g, xx1=None,xx2=None:g.V().has('age', 35)), (lambda g, xx1=None,xx2=None:g.V())], 
     'g_V_mapXmergeXlabel_person_name_joshXX': [(lambda g, xx1=None:g.add_v('person').property('name', 'vadas').property('age', 29).add_v('person').property('name', 'stephen').property('age', 27)), (lambda g, xx1=None:g.V().map(__.merge_v(xx1))), (lambda g, xx1=None:g.V().has('person', 'name', 'josh')), (lambda g, xx1=None:g.V())], 
-    'g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'marko').property(Cardinality.list_, 'age', 29).property(Cardinality.list_, 'age', 31).property(Cardinality.list_, 'age', 32)), (lambda g, xx1=None,xx2=None:g.with_side_effect('c', xx1).with_side_effect('m', xx2).merge_v(__.select('c')).option(Merge.on_match, __.side [...]
-    'g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option': [(lambda g, xx1=None:g.add_v('person').property('name', 'marko').property(Cardinality.list_, 'age', 29).property(Cardinality.list_, 'age', 31).property(Cardinality.list_, 'age', 32)), (lambda g, xx1=None:g.with_side_effect('m', xx1).V().has('person', 'name', 'marko').merge_v({  }).option(Merge.on_match, __.side_effect(__.properties('age').drop()). [...]
+    'g_withSideEffectXc_label_person_name_markoX_withSideEffectXm_age_19X_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option': [(lambda g:g.add_v('person').property('name', 'marko').property(Cardinality.list_, 'age', 29).property(Cardinality.list_, 'age', 31).property(Cardinality.list_, 'age', 32)), (lambda g:g.merge_v(__.select('c')).option(Merge.on_match, __.side_effect(__.properties('age').drop()).select('m'))), (lambda g:g.V().has('person', 'name', 'm [...]
+    'g_withSideEffectXm_age_19X_V_hasXperson_name_markoX_mergeVXselectXcXX_optionXonMatch_sideEffectXpropertiesXageX_dropX_selectXmXX_option': [(lambda g:g.add_v('person').property('name', 'marko').property(Cardinality.list_, 'age', 29).property(Cardinality.list_, 'age', 31).property(Cardinality.list_, 'age', 32)), (lambda g:g.V().has('person', 'name', 'marko').merge_v({  }).option(Merge.on_match, __.side_effect(__.properties('age').drop()).select('m')))], 
     'g_mergeV_onCreate_inheritance_existing': [(lambda g, xx1=None,xx2=None:g.add_v('person').property('name', 'mike').property(T.id_, '1')), (lambda g, xx1=None,xx2=None:g.merge_v(xx1).option(Merge.on_create, xx2)), (lambda g, xx1=None,xx2=None:g.V()), (lambda g, xx1=None,xx2=None:g.V('1').has('person', 'name', 'mike'))], 
     'g_mergeV_onCreate_inheritance_new_1': [(lambda g, xx1=None,xx2=None:g.merge_v(xx1).option(Merge.on_create, xx2)), (lambda g, xx1=None,xx2=None:g.V()), (lambda g, xx1=None,xx2=None:g.V('1').has('person', 'name', 'mike'))], 
     'g_mergeV_onCreate_inheritance_new_2': [(lambda g, xx1=None,xx2=None:g.merge_v(xx1).option(Merge.on_create, xx2)), (lambda g, xx1=None,xx2=None:g.V()), (lambda g, xx1=None,xx2=None:g.V('1').has('person', 'name', 'mike'))], 
@@ -1122,7 +1122,7 @@ world.gremlins = {
     'g_V_name_fold_minXlocalX': [(lambda g:g.V().values('name').fold().min_(Scope.local))], 
     'g_V_repeatXbothX_timesX5X_age_min': [(lambda g:g.V().repeat(__.both()).times(5).values('age').min_())], 
     'g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_minX': [(lambda g:g.V().has_label('software').group().by('name').by(__.both_e().values('weight').min_()))], 
-    'g_V_foo_injectX9999999999X_min': [(lambda g, xx1=None:g.V().values('foo').inject(xx1).min_())], 
+    'g_V_foo_injectX9999999999X_min': [(lambda g:g.V().values('foo').inject(long(9999999999)).min_())], 
     'g_VX1X_valuesXageX_minXlocalX': [(lambda g, vid1=None:g.V(vid1).values('age').min_(Scope.local))], 
     'g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_minXlocalX': [(lambda g:g.V().local(__.union(__.values('age'), __.out_e().values('weight')).fold()).min_(Scope.local))], 
     'g_V_name_order': [(lambda g:g.V().values('name').order())], 
@@ -1183,14 +1183,14 @@ world.gremlins = {
     'g_V_valuesXnonexistantX_fold_productXV_valuesXnameX_foldX': [(lambda g:g.V().values('nonexistant').fold().product(__.V().values('name').fold()))], 
     'g_V_valuesXnameX_fold_productXV_valuesXnonexistantX_foldX': [(lambda g:g.V().values('name').fold().product(__.V().values('nonexistant').fold()))], 
     'g_V_valuesXageX_order_byXdescX_limitX3X_fold_productXV_valuesXageX_order_byXascX_limitX2X_foldX_unfold': [(lambda g:g.V().values('age').order().by(Order.desc).limit(3).fold().product(__.V().values('age').order().by(Order.asc).limit(2).fold()).unfold())], 
-    'g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold': [(lambda g, xx1=None:g.V().out().path().by(__.values('name').to_upper()).product(xx1).unfold())], 
-    'g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold': [(lambda g, xx1=None:g.inject(xx1).product(__.V().values('name').order().fold()).unfold())], 
-    'g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold': [(lambda g, xx1=None:g.V().value_map('location').select(Column.values).unfold().product(xx1).unfold())], 
+    'g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold': [(lambda g:g.V().out().path().by(__.values('name').to_upper()).product(['MARKO']).unfold())], 
+    'g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold': [(lambda g:g.inject(['marko']).product(__.V().values('name').order().fold()).unfold())], 
+    'g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold': [(lambda g:g.V().value_map('location').select(Column.values).unfold().product(['dulles', 'seattle', 'vancouver']).unfold())], 
     'g_V_valuesXageX_order_byXascX_fold_productXconstantX27X_foldX_unfold': [(lambda g:g.V().values('age').order().by(Order.asc).fold().product(__.constant(27).fold()).unfold())], 
-    'g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold': [(lambda g, xx1=None:g.V().out().out().path().by('name').product(xx1).unfold())], 
-    'g_injectXa_null_bX_productXa_cX_unfold': [(lambda g, xx1=None,xx2=None:g.inject(xx1).product(xx2).unfold())], 
-    'g_injectXa_null_bX_productXa_null_cX_unfold': [(lambda g, xx1=None,xx2=None:g.inject(xx1).product(xx2).unfold())], 
-    'g_injectX3_threeX_productXfive_three_7X_unfold': [(lambda g, xx1=None,xx2=None:g.inject(xx1).product(xx2).unfold())], 
+    'g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold': [(lambda g:g.V().out().out().path().by('name').product(['dave', 'kelvin']).unfold())], 
+    'g_injectXa_null_bX_productXa_cX_unfold': [(lambda g:g.inject(['a', None, 'b']).product(['a', 'c']).unfold())], 
+    'g_injectXa_null_bX_productXa_null_cX_unfold': [(lambda g:g.inject(['a', None, 'b']).product(['a', None, 'c']).unfold())], 
+    'g_injectX3_threeX_productXfive_three_7X_unfold': [(lambda g:g.inject([3, 'three']).product(['five', 'three', 7]).unfold())], 
     'g_V_hasLabelXpersonX_projectXa_bX_byXoutE_countX_byXageX': [(lambda g:g.V().has_label('person').project('a', 'b').by(__.out_e().count()).by('age'))], 
     'g_V_outXcreatedX_projectXa_bX_byXnameX_byXinXcreatedX_countX_order_byXselectXbX__descX_selectXaX': [(lambda g:g.V().out('created').project('a', 'b').by('name').by(__.in_('created').count()).order().by(__.select('b'), Order.desc).select('a'))], 
     'g_V_valueMap_projectXxX_byXselectXnameXX': [(lambda g:g.V().value_map().project('x').by(__.select('name')))], 
@@ -1210,7 +1210,7 @@ world.gremlins = {
     'g_V_valuesXnameX_order_fold_rTrimXlocalX': [(lambda g:g.add_v('person').property('name', ' marko ').property('age', 29).as_('marko').add_v('person').property('name', '  vadas  ').property('age', 27).as_('vadas').add_v('software').property('name', '  lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh  ').property('age', 32).as_('josh').add_v('software').property('name', '   ripple   ').property('lang', 'java').as_('ripple').add_v('person').property('name [...]
     'g_injectXthat_this_test_nullX_replaceXh_jX': [(lambda g:g.inject('that', 'this', 'test', None).replace('h', 'j'))], 
     'g_injectXthat_this_test_nullX_fold_replaceXlocal_h_jX': [(lambda g:g.inject('that', 'this', 'test', None).fold().replace(Scope.local, 'h', 'j'))], 
-    'g_injectXListXa_bXcX_replaceXa_bX': [(lambda g, xx1=None:g.inject(xx1).replace('a', 'b'))], 
+    'g_injectXListXa_bXcX_replaceXa_bX': [(lambda g:g.inject(['a', 'b']).replace('a', 'b'))], 
     'g_V_hasLabelXsoftwareX_valueXnameX_replaceXnull_iX': [(lambda g:g.V().has_label('software').values('name').replace(None, 'g'))], 
     'g_V_hasLabelXsoftwareX_valueXnameX_replaceXa_iX': [(lambda g:g.V().has_label('software').values('name').replace('p', 'g'))], 
     'g_V_hasLabelXsoftwareX_valueXnameX_order_fold_replaceXloacl_a_iX': [(lambda g:g.V().has_label('software').values('name').order().fold().replace(Scope.local, 'p', 'g'))], 
@@ -1355,8 +1355,8 @@ world.gremlins = {
     'g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_sumXlocalX': [(lambda g:g.with_strategies(ProductiveByStrategy()).V().aggregate('a').by('foo').cap('a').sum_(Scope.local))], 
     'g_V_aggregateXaX_byXfooX_capXaX_unfold_sum': [(lambda g:g.V().aggregate('a').by('foo').cap('a').unfold().sum_())], 
     'g_withStrategiesXProductiveByStrategyX_V_aggregateXaX_byXfooX_capXaX_unfold_sum': [(lambda g:g.with_strategies(ProductiveByStrategy()).V().aggregate('a').by('foo').cap('a').unfold().sum_())], 
-    'g_injectXnull_10_5_nullX_sum': [(lambda g, xx1=None,xx2=None:g.inject(None, xx1, xx2, None).sum_())], 
-    'g_injectXlistXnull_10_5_nullXX_sumXlocalX': [(lambda g, xx1=None:g.inject(xx1).sum_(Scope.local))], 
+    'g_injectXnull_10_5_nullX_sum': [(lambda g:g.inject(None, 10, 5, None).sum_())], 
+    'g_injectXlistXnull_10_5_nullXX_sumXlocalX': [(lambda g:g.inject([None, 10, 5, None]).sum_(Scope.local))], 
     'g_VX1X_valuesXageX_sumXlocalX': [(lambda g, vid1=None:g.V(vid1).values('age').sum_(Scope.local))], 
     'g_V_localXunionXvaluesXageX_outE_valuesXweightXX_foldX_sumXlocalX': [(lambda g:g.V().local(__.union(__.values('age'), __.out_e().values('weight')).fold()).sum_(Scope.local))], 
     'g_V_age_injectX1000nX_sum': [(lambda g:g.V().values('age').inject(bigint(1000)).sum_())], 
@@ -1376,16 +1376,16 @@ world.gremlins = {
     'g_V_valuesXnameX_toLowerXlocalX': [(lambda g:g.add_v('person').property('name', 'MARKO').property('age', 29).as_('marko').add_v('person').property('name', 'VADAS').property('age', 27).as_('vadas').add_v('software').property('name', 'LOP').property('lang', 'java').as_('lop').add_v('person').property('name', 'JOSH').property('age', 32).as_('josh').add_v('software').property('name', 'RIPPLE').property('lang', 'java').as_('ripple').add_v('person').property('name', 'PETER').property('age [...]
     'g_V_valuesXnameX_order_fold_toLowerXlocalX': [(lambda g:g.add_v('person').property('name', 'MARKO').property('age', 29).as_('marko').add_v('person').property('name', 'VADAS').property('age', 27).as_('vadas').add_v('software').property('name', 'LOP').property('lang', 'java').as_('lop').add_v('person').property('name', 'JOSH').property('age', 32).as_('josh').add_v('software').property('name', 'RIPPLE').property('lang', 'java').as_('ripple').add_v('person').property('name', 'PETER').pr [...]
     'g_injectXfeature_test_nullX_toUpper': [(lambda g:g.inject('feature', 'tESt', None).to_upper())], 
-    'g_injectXfeature_test_nullX_toUpperXlocalX': [(lambda g, xx1=None:g.inject(xx1).to_upper(Scope.local))], 
+    'g_injectXfeature_test_nullX_toUpperXlocalX': [(lambda g:g.inject(['feature', 'tESt', None]).to_upper(Scope.local))], 
     'g_injectXfeature_test_nullX_asString_toUpper': [(lambda g:g.inject('feature', 'tESt', None).as_string().to_upper())], 
-    'g_injectXListXa_bXX_toUpper': [(lambda g, xx1=None:g.inject(xx1).to_upper())], 
+    'g_injectXListXa_bXX_toUpper': [(lambda g:g.inject(['a', 'b']).to_upper())], 
     'g_V_valuesXnameX_toUpper': [(lambda g:g.V().values('name').to_upper())], 
     'g_V_valuesXnameX_toUpperXlocalX': [(lambda g:g.V().values('name').to_upper(Scope.local))], 
     'g_V_valuesXnameX_order_fold_toUpperXlocalX': [(lambda g:g.V().values('name').order().fold().to_upper(Scope.local))], 
     'g_injectX__feature___test__nullX_trim': [(lambda g:g.inject('  feature  ', ' one test ', None, '', ' ', ' abc', 'abc ', ' abc ', '  ').trim())], 
     'g_injectX__feature___test__nullX_trimXlocalX': [(lambda g:g.inject(['  feature  ', ' one test ', None, '', ' ', ' abc', 'abc ', ' abc ', '  ']).trim(Scope.local))], 
-    'g_injectXListXa_bXX_trim': [(lambda g, xx1=None:g.inject(xx1).trim())], 
-    'g_injectXListX1_2XX_trimXlocalX': [(lambda g, xx1=None:g.inject(xx1).trim(Scope.local))], 
+    'g_injectXListXa_bXX_trim': [(lambda g:g.inject(['a', 'b']).trim())], 
+    'g_injectXListX1_2XX_trimXlocalX': [(lambda g:g.inject([1, 2]).trim(Scope.local))], 
     'g_V_valuesXnameX_trim': [(lambda g:g.add_v('person').property('name', ' marko ').property('age', 29).as_('marko').add_v('person').property('name', '  vadas  ').property('age', 27).as_('vadas').add_v('software').property('name', '  lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh  ').property('age', 32).as_('josh').add_v('software').property('name', '   ripple   ').property('lang', 'java').as_('ripple').add_v('person').property('name', 'peter').propert [...]
     'g_V_valuesXnameX_order_fold_trimXlocalX': [(lambda g:g.add_v('person').property('name', ' marko ').property('age', 29).as_('marko').add_v('person').property('name', '  vadas  ').property('age', 27).as_('vadas').add_v('software').property('name', '  lop').property('lang', 'java').as_('lop').add_v('person').property('name', 'josh  ').property('age', 32).as_('josh').add_v('software').property('name', '   ripple   ').property('lang', 'java').as_('ripple').add_v('person').property('name' [...]
     'g_V_localXoutE_foldX_unfold': [(lambda g:g.V().local(__.out_e().fold()).unfold())], 
@@ -1454,12 +1454,12 @@ world.gremlins = {
     'InjectXnullX_lteXnullX': [(lambda g:g.inject(None).is_(P.lte(None)))], 
     'InjectXnullX_gtXnullX': [(lambda g:g.inject(None).is_(P.gt(None)))], 
     'InjectXnullX_gteXnullX': [(lambda g:g.inject(None).is_(P.gte(None)))], 
-    'InjectXNaNX_eqXNaNX': [(lambda g, xx1=None:g.inject(xx1).is_(P.eq(float('nan'))))], 
-    'InjectXNaNX_neqXNaNX': [(lambda g, xx1=None:g.inject(xx1).is_(P.neq(float('nan'))))], 
-    'InjectXNaNX_ltXNaNX': [(lambda g, xx1=None:g.inject(xx1).is_(P.lt(float('nan'))))], 
-    'InjectXNaNX_lteXNaNX': [(lambda g, xx1=None:g.inject(xx1).is_(P.lte(float('nan'))))], 
-    'InjectXNaNX_gtXNaNX': [(lambda g, xx1=None:g.inject(xx1).is_(P.gt(float('nan'))))], 
-    'InjectXNaNX_gteXNaNX': [(lambda g, xx1=None:g.inject(xx1).is_(P.gte(float('nan'))))], 
+    'InjectXNaNX_eqXNaNX': [(lambda g:g.inject(float('nan')).is_(P.eq(float('nan'))))], 
+    'InjectXNaNX_neqXNaNX': [(lambda g:g.inject(float('nan')).is_(P.neq(float('nan'))))], 
+    'InjectXNaNX_ltXNaNX': [(lambda g:g.inject(float('nan')).is_(P.lt(float('nan'))))], 
+    'InjectXNaNX_lteXNaNX': [(lambda g:g.inject(float('nan')).is_(P.lte(float('nan'))))], 
+    'InjectXNaNX_gtXNaNX': [(lambda g:g.inject(float('nan')).is_(P.gt(float('nan'))))], 
+    'InjectXNaNX_gteXNaNX': [(lambda g:g.inject(float('nan')).is_(P.gte(float('nan'))))], 
     'InjectX1dX_eqXNaNX': [(lambda g:g.inject(1.0).is_(P.eq(float('nan'))))], 
     'InjectX1dX_neqXNaNX': [(lambda g:g.inject(1.0).is_(P.neq(float('nan'))))], 
     'InjectX1dX_ltXNaNX': [(lambda g:g.inject(1.0).is_(P.lt(float('nan'))))], 
@@ -1525,25 +1525,25 @@ world.gremlins = {
     'InjectX1dX_notXerrorX': [(lambda g:g.inject(1).not_(__.is_(P.gt(float('nan')))))], 
     'InjectX1dX_notXisXeqXNaNXXX': [(lambda g:g.inject(1).not_(__.is_(P.eq(float('nan')))))], 
     'InjectXInfX_eqXInfX': [(lambda g:g.inject(float('inf')).is_(P.eq(float('inf'))))], 
-    'InjectXInfArgX_eqXInfX': [(lambda g, xx1=None:g.inject(xx1).is_(P.eq(float('inf'))))], 
+    'InjectXInfArgX_eqXInfX': [(lambda g:g.inject(float('inf')).is_(P.eq(float('inf'))))], 
     'InjectXInfX_neqXInfX': [(lambda g:g.inject(float('inf')).is_(P.neq(float('inf'))))], 
-    'InjectXInfArgX_neqXInfX': [(lambda g, xx1=None:g.inject(xx1).is_(P.neq(float('inf'))))], 
+    'InjectXInfArgX_neqXInfX': [(lambda g:g.inject(float('inf')).is_(P.neq(float('inf'))))], 
     'InjectXNegInfX_eqXNegInfX': [(lambda g:g.inject(float('-inf')).is_(P.eq(float('-inf'))))], 
-    'InjectXNegInfArgX_eqXNegInfX': [(lambda g, xx1=None:g.inject(xx1).is_(P.eq(float('-inf'))))], 
+    'InjectXNegInfArgX_eqXNegInfX': [(lambda g:g.inject(float('-inf')).is_(P.eq(float('-inf'))))], 
     'InjectXNegInfX_neqXNegInfX': [(lambda g:g.inject(float('-inf')).is_(P.neq(float('-inf'))))], 
-    'InjectXNegInfArgX_neqXNegInfX': [(lambda g, xx1=None:g.inject(xx1).is_(P.neq(float('-inf'))))], 
+    'InjectXNegInfArgX_neqXNegInfX': [(lambda g:g.inject(float('-inf')).is_(P.neq(float('-inf'))))], 
     'InjectXInfX_gtXNegInfX': [(lambda g:g.inject(float('inf')).is_(P.gt(float('-inf'))))], 
     'InjectXInfX_ltXNegInfX': [(lambda g:g.inject(float('inf')).is_(P.lt(float('-inf'))))], 
     'InjectXNegInfX_ltXInfX': [(lambda g:g.inject(float('-inf')).is_(P.lt(float('inf'))))], 
     'InjectXNegInfX_gtXInfX': [(lambda g:g.inject(float('-inf')).is_(P.gt(float('inf'))))], 
-    'Primitives_Number_eqXbyteX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
-    'Primitives_Number_eqXshortX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
-    'Primitives_Number_eqXintX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
-    'Primitives_Number_eqXlongX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
-    'Primitives_Number_eqXbigintX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
-    'Primitives_Number_eqXfloatX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
-    'Primitives_Number_eqXdoubleX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
-    'Primitives_Number_eqXbigdecimalX': [(lambda g, xx1=None,xx2=None:g.inject(xx1).unfold().where(__.is_(xx2)))], 
+    'Primitives_Number_eqXbyteX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
+    'Primitives_Number_eqXshortX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
+    'Primitives_Number_eqXintX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
+    'Primitives_Number_eqXlongX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
+    'Primitives_Number_eqXbigintX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
+    'Primitives_Number_eqXfloatX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
+    'Primitives_Number_eqXdoubleX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
+    'Primitives_Number_eqXbigdecimalX': [(lambda g, xx1=None:g.inject([1, 1, 1, long(1), 1, 1, 1000, 1, bigint(1)]).unfold().where(__.is_(xx1)))], 
     'g_V_values_order': [(lambda g:g.V().values().order())], 
     'g_V_properties_order': [(lambda g:g.V().properties().order())], 
     'g_V_properties_order_id': [(lambda g:g.V().properties().order().id_())], 
@@ -1573,7 +1573,7 @@ world.gremlins = {
     'g_withStrategiesXProductiveByStrategyX_V_aggregateXlocal_xX_byXageX_capXxX': [(lambda g:g.with_strategies(ProductiveByStrategy()).V().aggregate(Scope.local, 'x').by('age').cap('x'))], 
     '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, vid1=None: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': [(lambda g, xx1=None:g.with_side_effect('a', xx1).V().both().values('name').aggregate(Scope.local, 'a').cap('a'))], 
+    'g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX': [(lambda g:g.V().both().values('name').aggregate(Scope.local, 'a').cap('a'))], 
     'g_withSideEffectXa_set_inlineX_V_both_name_aggregateXlocal_aX_capXaX': [(lambda g:g.with_side_effect('a', {'alice'}).V().both().values('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(__.out_e('created').count()).out().out().aggregate(Scope.local, 'a').by(__.in_e('created').values('weight').sum_()).cap('a'))], 
     'g_V_aggregateXxX_byXvaluesXageX_isXgtX29XXX_capXxX': [(lambda g:g.V().aggregate('x').by(__.values('age').is_(P.gt(29))).cap('x'))], 
@@ -1601,10 +1601,10 @@ world.gremlins = {
     'g_withSideEffectXa_true_andX_V_constantXfalseX_aggregateXlocal_aX_capXaX': [(lambda g:g.with_side_effect('a', True, Operator.and_).V().constant(False).aggregate(Scope.local, 'a').cap('a'))], 
     'g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXaX_capXaX': [(lambda g:g.with_side_effect('a', True, Operator.or_).V().constant(False).aggregate('a').cap('a'))], 
     'g_withSideEffectXa_true_orX_V_constantXfalseX_aggregateXlocal_aX_capXaX': [(lambda g:g.with_side_effect('a', True, Operator.or_).V().constant(False).aggregate(Scope.local, 'a').cap('a'))], 
-    'g_withSideEffectXa_xx1_addAllX_V_aggregateXaX_byXageX_capXaX': [(lambda g, xx1=None:g.with_side_effect('a', xx1, Operator.add_all).V().aggregate('a').by('age').cap('a'))], 
-    'g_withSideEffectXa_xx1_addAllX_V_aggregateXlocal_aX_byXageX_capXaX': [(lambda g, xx1=None:g.with_side_effect('a', xx1, Operator.add_all).V().aggregate(Scope.local, 'a').by('age').cap('a'))], 
-    'g_withSideEffectXa_xx1_assignX_V_aggregateXaX_byXageX_capXaX': [(lambda g, xx1=None:g.with_side_effect('a', xx1, Operator.assign).V().aggregate('a').by('age').cap('a'))], 
-    'g_withSideEffectXa_xx1_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX': [(lambda g, xx1=None:g.with_side_effect('a', xx1, Operator.assign).V().order().by('age').aggregate(Scope.local, 'a').by('age').cap('a'))], 
+    'g_withSideEffectXa_1_2_3_addAllX_V_aggregateXaX_byXageX_capXaX': [(lambda g:g.with_side_effect('a', [1, 2, 3], Operator.add_all).V().aggregate('a').by('age').cap('a'))], 
+    'g_withSideEffectXa_1_2_3_addAllX_V_aggregateXlocal_aX_byXageX_capXaX': [(lambda g:g.with_side_effect('a', [1, 2, 3], Operator.add_all).V().aggregate(Scope.local, 'a').by('age').cap('a'))], 
+    'g_withSideEffectXa_1_2_3_assignX_V_aggregateXaX_byXageX_capXaX': [(lambda g:g.with_side_effect('a', [1, 2, 3], Operator.assign).V().aggregate('a').by('age').cap('a'))], 
+    'g_withSideEffectXa_1_2_3_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX': [(lambda g:g.with_side_effect('a', [1, 2, 3], Operator.assign).V().order().by('age').aggregate(Scope.local, 'a').by('age').cap('a'))], 
     'g_V_fail': [(lambda g:g.V().fail())], 
     'g_V_failXmsgX': [(lambda g:g.V().fail('msg'))], 
     'g_V_unionXout_failX': [(lambda g:g.V().union(__.out(), __.fail()))], 
@@ -1654,7 +1654,7 @@ world.gremlins = {
     'g_VX1X_out_name_injectXdanielX_asXaX_mapXlengthX_path': [(lambda g, vid1=None:g.V(vid1).out().values('name').inject('daniel').as_('a').map(__.length()).path())], 
     '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).group_count('x').dedup().as_('y').project('a', 'b').by().by(__.select('x').select(__.select('y'))))], 
-    'g_injectXname_marko_age_nullX_selectXname_ageX': [(lambda g, xx1=None:g.inject(xx1).select('name', 'age'))], 
+    'g_injectXname_marko_age_nullX_selectXname_ageX': [(lambda g:g.inject({ 'name': 'marko', 'age': None }).select('name', 'age'))], 
     'g_injectXnull_nullX': [(lambda g:g.inject(None, None))], 
     'g_injectXnullX': [(lambda g:g.inject(None))], 
     'g_inject': [(lambda g:g.inject())], 
@@ -1699,7 +1699,7 @@ world.gremlins = {
     'g_withSackX1_sumX_VX1X_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack': [(lambda g, vid1=None:g.with_sack(1.0, Operator.sum_).V(vid1).local(__.out('knows').barrier(Barrier.norm_sack)).in_('knows').barrier().sack())], 
     'g_V_sackXassignX_byXageX_sack': [(lambda g:g.V().sack(Operator.assign).by('age').sack())], 
     'g_withSackXBigInteger_TEN_powX1000X_assignX_V_localXoutXknowsX_barrierXnormSackXX_inXknowsX_barrier_sack': [(lambda g, xx1=None:g.with_sack(xx1, Operator.assign).V().local(__.out('knows').barrier(Barrier.norm_sack)).in_('knows').barrier().sack())], 
-    'g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack': [(lambda g, xx1=None:g.with_sack(2).V().sack(Operator.div).by(__.constant(xx1)).sack())], 
+    'g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack': [(lambda g:g.with_sack(2).V().sack(Operator.div).by(__.constant(4.0)).sack())], 
     'g_V_sackXassignX_byXageX_byXnameX_sack': [(lambda g:g.V().sack(Operator.assign).by('age').by('name').sack())], 
     'g_V_sideEffectXidentityX': [(lambda g:g.V().side_effect(__.identity()))], 
     'g_V_sideEffectXidentity_valuesXnameXX': [(lambda g:g.V().side_effect(__.identity().values('name')))], 
@@ -1729,7 +1729,7 @@ world.gremlins = {
     'g_V_groupXaX_by_byXout_label_tailX10X_foldX_capXaX_selectXvaluesX_unfold_orderXlocalX': [(lambda g:g.V().group('a').by().by(__.out().label().tail(10).fold()).cap('a').select(Column.values).unfold().order(Scope.local))], 
     '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, vid1=None:g.V(vid1).store('a').by('name').out().store('a').by('name').values('name').cap('a'))], 
-    'g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX': [(lambda g, xx1=None:g.with_side_effect('a', xx1).V().both().values('name').store('a').cap('a'))], 
+    'g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX': [(lambda g:g.V().both().values('name').store('a').cap('a'))], 
     'g_withSideEffectXa_set_inlineX_V_both_name_storeXaX_capXaX': [(lambda g:g.with_side_effect('a', {'alice'}).V().both().values('name').store('a').cap('a'))], 
     'g_V_storeXaX_byXoutEXcreatedX_countX_out_out_storeXaX_byXinEXcreatedX_weight_sumX': [(lambda g:g.V().store('a').by(__.out_e('created').count()).out().out().store('a').by(__.in_e('created').values('weight').sum_()).cap('a'))], 
     'g_VX1X_outEXknowsX_subgraphXsgX_name_capXsgX': [(lambda g, vid1=None:g.V(vid1).out_e('knows').subgraph('sg').values('name').cap('sg'))], 
diff --git a/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py b/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py
index eb6beee5c6..73dbb449be 100644
--- a/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py
+++ b/gremlin-python/src/main/python/tests/driver/test_driver_remote_connection.py
@@ -21,8 +21,8 @@ import os
 from gremlin_python import statics
 from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
 from gremlin_python.driver.protocol import GremlinServerError
-from gremlin_python.statics import long
-from gremlin_python.process.traversal import Traverser
+from gremlin_python.statics import long, bigint
+from gremlin_python.process.traversal import Traverser, Operator, Barrier
 from gremlin_python.process.traversal import TraversalStrategy
 from gremlin_python.process.traversal import Bindings
 from gremlin_python.process.traversal import P, Order, T
@@ -45,6 +45,11 @@ class TestDriverRemoteConnection(object):
         statics.load_statics(globals())
         g = traversal().with_(remote_connection)
 
+        results = g.with_sack(bigint(
+            100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 [...]
+                    Operator.assign).V().local(__.out('knows').barrier(Barrier.norm_sack)).in_(
+            'knows').barrier().sack().next()
+
         assert long(6) == g.V().count().toList()[0]
         # #
         assert Vertex(1) == g.V(1).next()
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java
index 275166e06d..8aa0849ef3 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java
@@ -102,6 +102,7 @@ public final class StepDefinition {
     private World world;
     private GraphTraversalSource g;
     private final Map<String, String> stringParameters = new HashMap<>();
+    private final Map<String, String> sideEffects = new HashMap<>();
     private Traversal traversal;
     private Object result;
     private Throwable error;
@@ -295,11 +296,16 @@ public final class StepDefinition {
         stringParameters.put(key, String.format("P.%s(%s)", pval, convertToString(string)));
     }
 
+    @Given("using the side effect {word} defined as {string}")
+    public void usingTheSideEffectXDefinedAsX(final String key, final String value) {
+        sideEffects.put(key, convertToString(value));
+    }
+
     @Given("the traversal of")
     public void theTraversalOf(final String docString) {
         try {
             final String gremlin = tryUpdateDataFilePath(docString);
-            traversal = parseGremlin(applyParameters(gremlin));
+            traversal = parseGremlin(applySideEffects(applyParameters(gremlin)));
         } catch (Exception ex) {
             ex.printStackTrace();
             error = ex;
@@ -472,7 +478,7 @@ public final class StepDefinition {
     public void theGraphShouldReturnForCountOf(final Integer count, final String gremlin) {
         assertThatNoErrorWasThrown();
 
-        assertEquals(count.longValue(), ((GraphTraversal) parseGremlin(applyParameters(gremlin))).count().next());
+        assertEquals(count.longValue(), ((GraphTraversal) parseGremlin(applySideEffects(applyParameters(gremlin)))).count().next());
     }
 
     @Then("the result should be empty")
@@ -673,6 +679,17 @@ public final class StepDefinition {
         return replaced;
     }
 
+    private String applySideEffects(final String docString) {
+        StringBuilder traversal = new StringBuilder();
+        int gtsIndex = docString.indexOf('.');
+        traversal.append(docString.substring(0, gtsIndex));
+        for (Map.Entry<String, String> sideEffect : sideEffects.entrySet()) {
+            traversal.append(String.format(".withSideEffect(\"%s\",%s)", sideEffect.getKey(), sideEffect.getValue()));
+        }
+        traversal.append(docString.substring(gtsIndex));
+        return traversal.toString();
+    }
+
     private String tryUpdateDataFilePath(final String docString) {
         final Matcher matcher = ioPattern.matcher(docString);
         if (! matcher.matches()) { return docString; }
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature
index 74109c2fff..f6c24ff724 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Choose.feature
@@ -214,11 +214,10 @@ Feature: Step - choose()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectX1X_chooseXisX1X__constantX10Xfold__foldX
     Given the empty graph
-    And using the parameter xx1 defined as "d[10].i"
-    And using the parameter xx2 defined as "d[1].i"
+    And using the parameter xx1 defined as "d[1].i"
     And the traversal of
       """
-      g.inject(xx2).choose(__.is(xx2), __.constant(xx1).fold(), __.fold())
+      g.inject(1i).choose(__.is(xx1), __.constant(10i).fold(), __.fold())
       """
     When iterated to list
     Then the result should be unordered
@@ -228,12 +227,10 @@ Feature: Step - choose()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectX2X_chooseXisX1X__constantX10Xfold__foldX
     Given the empty graph
-    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 using the parameter xx1 defined as "d[1].i"
     And the traversal of
       """
-      g.inject(xx3).choose(__.is(xx2), __.constant(xx1).fold(), __.fold())
+      g.inject(2i).choose(__.is(xx1), __.constant(10i).fold(), __.fold())
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Union.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Union.feature
index 0c5c5ee7a6..20b4713a01 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Union.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/branch/Union.feature
@@ -136,13 +136,10 @@ Feature: Step - union()
 
   Scenario: g_V_unionXconstantX1X_constantX2X_constantX3XX
     Given the modern graph
-    And using the parameter xx1 defined as "d[1].i"
-    And using the parameter xx2 defined as "d[2].i"
-    And using the parameter xx3 defined as "d[3].i"
     And using the parameter vid2 defined as "v[vadas].id"
     And the traversal of
        """
-       g.V(vid2).union(constant(xx1), constant(xx2), constant(xx3))
+       g.V(vid2).union(constant(1i), constant(2i), constant(3i))
        """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Where.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Where.feature
index 1f12a12a66..c448d96994 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Where.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Where.feature
@@ -92,11 +92,10 @@ Feature: Step - where()
 
   Scenario: g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX
     Given the modern graph
-    And using the parameter xx1 defined as "l[josh,peter]"
     And using the parameter vid1 defined as "v[marko].id"
     And the traversal of
       """
-      g.withSideEffect("a", xx1).V(vid1).out("created").in("created").values("name").where(P.within("a"))
+      g.withSideEffect("a", ["josh","peter"]).V(vid1).out("created").in("created").values("name").where(P.within("a"))
       """
     When iterated to list
     Then the result should be unordered
@@ -171,10 +170,10 @@ Feature: Step - where()
   Scenario: g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX
     Given the modern graph
     And using the parameter vid1 defined as "v[marko].id"
-    And using the parameter vid2 defined as "v[vadas].id"
+    And using the side effect a defined as "v[vadas].id"
     And the traversal of
       """
-      g.withSideEffect("a", vid2).V(vid1).out().where(id().where(P.neq("a")))
+      g.V(vid1).out().where(id().where(P.neq("a")))
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/Miscellaneous.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/Miscellaneous.feature
index a5ef772956..d2bdb6b918 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/Miscellaneous.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/Miscellaneous.feature
@@ -20,7 +20,6 @@ Feature: Step - miscellaneous
 
   Scenario: g_V_coworker
     Given the modern graph
-    And using the parameter xx1 defined as "l[]"
     And the traversal of
       """
       g.V().hasLabel("person").
@@ -31,7 +30,7 @@ Feature: Step - miscellaneous
         where(neq("p1")).as("p2").values("name").as("p2n").
         select("p2").
         out("created").
-        choose(__.in("created").where(P.eq("p1")), __.values("name"), __.constant(xx1)).
+        choose(__.in("created").where(P.eq("p1")), __.values("name"), __.constant([])).
         group().
           by(__.select("p1n")).
           by(__.group().
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
index 2fa02fd1c4..d4c9dab975 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
@@ -267,9 +267,10 @@ Feature: Step - addE()
       """
     And using the parameter vid1 defined as "v[marko].id"
     And using the parameter vid6 defined as "v[peter].id"
+    And using the side effect b defined as "v[peter].id"
     And the traversal of
       """
-      g.withSideEffect("b", vid6).V(vid1).addE("knows").to("b").property("weight", 0.5D)
+      g.V(vid1).addE("knows").to("b").property("weight", 0.5D)
       """
     When iterated to list
     Then the result should have a count of 1
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Concat.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Concat.feature
index c9a0e717cc..1e97f8c9b3 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Concat.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Concat.feature
@@ -73,10 +73,9 @@ Feature: Step - concat()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXaX_concat_Xinject_List_b_cX
     Given the empty graph
-    And using the parameter xx1 defined as "l[b,c]"
     And the traversal of
       """
-      g.inject("a").concat(__.inject(xx1))
+      g.inject("a").concat(__.inject(["b","c"]))
       """
     When iterated to list
     Then the result should be unordered
@@ -86,10 +85,9 @@ Feature: Step - concat()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXListXa_bXcX_concat_XdX
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,b]"
     And the traversal of
       """
-      g.inject(xx1,"c").concat("d")
+      g.inject(["a","b"],"c").concat("d")
       """
     When iterated to list
     Then the traversal will raise an error with message containing text of "String concat() can only take string as argument"
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Conjoin.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Conjoin.feature
index 9d9d54547e..f985d85bc7 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Conjoin.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Conjoin.feature
@@ -90,10 +90,9 @@ Feature: Step - conjoin()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXmarkoX_conjoinX_X
     Given the modern graph
-    And using the parameter xx1 defined as "l[marko]"
     And the traversal of
       """
-      g.inject(xx1).conjoin("-")
+      g.inject(["marko"]).conjoin("-")
       """
     When iterated to list
     Then the result should be unordered
@@ -131,10 +130,9 @@ Feature: Step - conjoin()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXa_null_bX_conjoinXxyzX
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,null,b]"
     And the traversal of
       """
-      g.inject(xx1).conjoin("xyz")
+      g.inject(["a",null,"b"]).conjoin("xyz")
       """
     When iterated to list
     Then the result should be unordered
@@ -144,10 +142,9 @@ Feature: Step - conjoin()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectX3_threeX_conjoinX_X
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[3].i,three]"
     And the traversal of
       """
-      g.inject(xx1).conjoin(";")
+      g.inject([3i,"three"]).conjoin(";")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Difference.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Difference.feature
index 18d5043f3c..f2e572f2ef 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Difference.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Difference.feature
@@ -114,10 +114,9 @@ Feature: Step - difference()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_path_byXvaluesXnameX_toUpperX_differenceXMARKOX
     Given the modern graph
-    And using the parameter xx1 defined as "l[MARKO]"
     And the traversal of
       """
-      g.V().out().path().by(values("name").toUpper()).difference(xx1)
+      g.V().out().path().by(values("name").toUpper()).difference(["MARKO"])
       """
     When iterated to list
     Then the result should be unordered
@@ -132,10 +131,9 @@ Feature: Step - difference()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXmarkoX_differenceXV_valuesXnameX_foldX
     Given the modern graph
-    And using the parameter xx1 defined as "l[marko]"
     And the traversal of
       """
-      g.inject(xx1).difference(__.V().values("name").fold())
+      g.inject(["marko"]).difference(__.V().values("name").fold())
       """
     When iterated to list
     Then the result should be unordered
@@ -145,10 +143,9 @@ Feature: Step - difference()
   @MultiProperties @MetaProperties
   Scenario: g_V_valueMapXlocationX_selectXvaluesX_unfold_differenceXseattle_vancouverX
     Given the crew graph
-    And using the parameter xx1 defined as "l[seattle,vancouver]"
     And the traversal of
       """
-      g.V().valueMap("location").select(values).unfold().difference(xx1)
+      g.V().valueMap("location").select(values).unfold().difference(["seattle","vancouver"])
       """
     When iterated to list
     Then the result should be unordered
@@ -161,10 +158,9 @@ Feature: Step - difference()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_out_path_byXnameX_differenceXrippleX
     Given the modern graph
-    And using the parameter xx1 defined as "l[ripple]"
     And the traversal of
       """
-      g.V().out().out().path().by("name").difference(xx1)
+      g.V().out().out().path().by("name").difference(["ripple"])
       """
     When iterated to list
     Then the result should be unordered
@@ -175,10 +171,9 @@ Feature: Step - difference()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_out_path_byXnameX_differenceXempty_listX
     Given the modern graph
-    And using the parameter xx1 defined as "l[]"
     And the traversal of
       """
-      g.V().out().out().path().by("name").difference(xx1)
+      g.V().out().out().path().by("name").difference([])
       """
     When iterated to list
     Then the result should be unordered
@@ -200,10 +195,9 @@ Feature: Step - difference()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_out_path_byXnameX_differenceXdave_kelvinX
     Given the modern graph
-    And using the parameter xx1 defined as "l[dave,kelvin]"
     And the traversal of
       """
-      g.V().out().out().path().by("name").difference(xx1)
+      g.V().out().out().path().by("name").difference(["dave","kelvin"])
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Disjunct.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Disjunct.feature
index e6fcee1535..fc9c3034d0 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Disjunct.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Disjunct.feature
@@ -114,10 +114,9 @@ Feature: Step - disjunct()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_path_byXvaluesXnameX_toUpperX_disjunctXMARKOX
     Given the modern graph
-    And using the parameter xx1 defined as "l[MARKO]"
     And the traversal of
       """
-      g.V().out().path().by(values("name").toUpper()).disjunct(xx1)
+      g.V().out().path().by(values("name").toUpper()).disjunct(["MARKO"])
       """
     When iterated to list
     Then the result should be unordered
@@ -132,10 +131,9 @@ Feature: Step - disjunct()
   @MultiProperties @MetaProperties
   Scenario: g_V_valueMapXlocationX_selectXvaluesX_unfold_disjunctXseattle_vancouverX
     Given the crew graph
-    And using the parameter xx1 defined as "l[seattle,vancouver]"
     And the traversal of
       """
-      g.V().valueMap("location").select(values).unfold().disjunct(xx1)
+      g.V().valueMap("location").select(values).unfold().disjunct(["seattle","vancouver"])
       """
     When iterated to list
     Then the result should be unordered
@@ -148,10 +146,9 @@ Feature: Step - disjunct()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_out_path_byXnameX_disjunctXmarkoX
     Given the modern graph
-    And using the parameter xx1 defined as "l[marko]"
     And the traversal of
       """
-      g.V().out().out().path().by("name").disjunct(xx1)
+      g.V().out().out().path().by("name").disjunct(["marko"])
       """
     When iterated to list
     Then the result should be unordered
@@ -162,10 +159,9 @@ Feature: Step - disjunct()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_out_path_byXnameX_disjunctXstephen_markoX
     Given the modern graph
-    And using the parameter xx1 defined as "l[stephen,marko]"
     And the traversal of
       """
-      g.V().out().out().path().by("name").disjunct(xx1)
+      g.V().out().out().path().by("name").disjunct(["stephen","marko"])
       """
     When iterated to list
     Then the result should be unordered
@@ -176,10 +172,9 @@ Feature: Step - disjunct()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_out_path_byXnameX_disjunctXdave_kelvinX
     Given the modern graph
-    And using the parameter xx1 defined as "l[dave,kelvin]"
     And the traversal of
       """
-      g.V().out().out().path().by("name").disjunct(xx1)
+      g.V().out().out().path().by("name").disjunct(["dave","kelvin"])
       """
     When iterated to list
     Then the result should be unordered
@@ -190,11 +185,9 @@ Feature: Step - disjunct()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXa_null_bX_disjunctXa_cX
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,null,b]"
-    And using the parameter xx2 defined as "l[a,c]"
     And the traversal of
       """
-      g.inject(xx1).disjunct(xx2)
+      g.inject(["a",null,"b"]).disjunct(["a","c"])
       """
     When iterated to list
     Then the result should be unordered
@@ -204,11 +197,9 @@ Feature: Step - disjunct()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXa_null_bX_disjunctXa_null_cX
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,null,b]"
-    And using the parameter xx2 defined as "l[a,null,c]"
     And the traversal of
       """
-      g.inject(xx1).disjunct(xx2)
+      g.inject(["a",null,"b"]).disjunct(["a",null,"c"])
       """
     When iterated to list
     Then the result should be unordered
@@ -218,11 +209,9 @@ Feature: Step - disjunct()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectX3_threeX_disjunctXfive_three_7X
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[3].i,three]"
-    And using the parameter xx2 defined as "l[five,three,d[7].i]"
     And the traversal of
       """
-      g.inject(xx1).disjunct(xx2)
+      g.inject([3i,"three"]).disjunct(["five","three",7i])
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Intersect.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Intersect.feature
index c6b44844f0..a841c7d398 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Intersect.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Intersect.feature
@@ -114,10 +114,9 @@ Feature: Step - intersect()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_path_byXvaluesXnameX_toUpperX_intersectXMARKOX
     Given the modern graph
-    And using the parameter xx1 defined as "l[MARKO]"
     And the traversal of
       """
-      g.V().out().path().by(values("name").toUpper()).intersect(xx1)
+      g.V().out().path().by(values("name").toUpper()).intersect(["MARKO"])
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Length.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Length.feature
index e2d40c04ca..3a07c8f224 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Length.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Length.feature
@@ -49,10 +49,9 @@ Feature: Step - length()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXListXa_bXX_length
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,b]"
     And the traversal of
       """
-      g.inject(xx1).length()
+      g.inject(["a","b"]).length()
       """
     When iterated to list
     Then the traversal will raise an error with message containing text of "The length() step can only take string as argument"
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Math.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Math.feature
index a0aece335a..5b4436cbd7 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Math.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Math.feature
@@ -63,10 +63,9 @@ Feature: Step - math()
 
   Scenario: g_withSideEffectXx_100X_V_age_mathX__plus_xX
     Given the modern graph
-    And using the parameter xx1 defined as "d[100].i"
     And the traversal of
       """
-      g.withSideEffect("x", xx1).V().values("age").math("_ + x")
+      g.withSideEffect("x", 100i).V().values("age").math("_ + x")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Mean.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Mean.feature
index fed1a0c3f5..27436ce4f6 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Mean.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Mean.feature
@@ -168,11 +168,9 @@ Feature: Step - mean()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXnull_10_20_nullX_mean
     Given the modern graph
-    And using the parameter xx1 defined as "d[10].i"
-    And using the parameter xx2 defined as "d[20].i"
     And the traversal of
       """
-      g.inject(null, xx1, xx2, null).mean()
+      g.inject(null, 10, 20, null).mean()
       """
     When iterated to list
     Then the result should be unordered
@@ -182,10 +180,9 @@ Feature: Step - mean()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXlistXnull_10_20_nullXX_meanXlocalX
     Given the modern graph
-    And using the parameter xx1 defined as "l[null,d[10].i,d[20].i,null]"
     And the traversal of
       """
-      g.inject(xx1).mean(local)
+      g.inject([null,10,20,null]).mean(local)
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Merge.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Merge.feature
index c49eac1efd..d6eba29aa9 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Merge.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Merge.feature
@@ -80,10 +80,9 @@ Feature: Step - merge()
 
   Scenario: g_V_fold_mergeXk_vX
     Given the modern graph
-    And using the parameter xx1 defined as "m[{\"k\":\"v\"}]"
     And the traversal of
       """
-      g.V().fold().merge(xx1)
+      g.V().fold().merge([k:"v"])
       """
     When iterated to list
     Then the traversal will raise an error with message containing text of "step type mismatch: expected argument to be Iterable but got Map"
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature
index 4d170d874c..ef659761f3 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeEdge.feature
@@ -167,10 +167,10 @@ Feature: Step - mergeE()
       g.addV("person").property("name", "marko").
         addV("person").property("name", "vadas")
       """
-    And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\"}]"
+    And using the side effect a defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\"}]"
     And the traversal of
       """
-      g.withSideEffect("a",xx1).mergeE(__.select("a"))
+      g.mergeE(__.select("a"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -411,12 +411,11 @@ Feature: Step - mergeE()
         addE("knows").from("a").to("b")
       """
     And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\"}]"
-    And using the parameter xx2 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
-    And using the parameter xx3 defined as "m[{\"created\":\"N\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
+    And using the side effect m defined as "m[{\"created\":\"N\"}]"
     And the traversal of
       """
-      g.withSideEffect("c",xx2).withSideEffect("m",xx3).
-        mergeE(xx1).option(Merge.onCreate,__.select("c")).option(Merge.onMatch,__.select("m"))
+      g.mergeE(xx1).option(Merge.onCreate,__.select("c")).option(Merge.onMatch,__.select("m"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -432,12 +431,11 @@ Feature: Step - mergeE()
         addV("person").property("name", "vadas").as("b")
       """
     And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\"}]"
-    And using the parameter xx2 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
-    And using the parameter xx3 defined as "m[{\"created\":\"N\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
+    And using the side effect m defined as "m[{\"created\":\"N\"}]"
     And the traversal of
       """
-      g.withSideEffect("c",xx2).withSideEffect("m",xx3).
-        mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m"))
+      g.mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -454,12 +452,11 @@ Feature: Step - mergeE()
         addV("person").property("name", "vadas").as("b")
       """
     And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\"}]"
-    And using the parameter xx2 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
-    And using the parameter xx3 defined as "m[{\"created\":\"N\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
+    And using the side effect m defined as "m[{\"created\":\"N\"}]"
     And the traversal of
       """
-      g.withSideEffect("c",xx2).withSideEffect("m",xx3).
-        mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m"))
+      g.mergeE(xx1).option(Merge.onCreate, __.select("c")).option(Merge.onMatch, __.select("m"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -513,12 +510,11 @@ Feature: Step - mergeE()
         addE("knows").property("weight", 1.0d).from("a").to("b")
       """
     And using the parameter xx1 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\"}]"
-    And using the parameter xx2 defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
-    And using the parameter xx3 defined as "m[{\"created\":\"N\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"knows\", \"D[OUT]\":\"v[marko].id\", \"D[IN]\":\"v[vadas].id\",\"created\":\"Y\"}]"
+    And using the side effect m defined as "m[{\"created\":\"N\"}]"
     And the traversal of
       """
-      g.withSideEffect("c",xx2).withSideEffect("m",xx3).
-        mergeE(xx1).
+      g.mergeE(xx1).
           option(Merge.onCreate, __.select("c")).
           option(Merge.onMatch, __.sideEffect(__.properties("weight").drop()).select("m"))
       """
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeVertex.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeVertex.feature
index 31028cd12f..78ee9305fa 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeVertex.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/MergeVertex.feature
@@ -283,13 +283,11 @@ Feature: Step - mergeV()
       """
       g.addV("person").property("name", "marko").property("age", 29)
       """
-    And using the parameter xx1 defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\"}]"
-    And using the parameter xx2 defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\", \"age\": \"d[19].i\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\"}]"
+    And using the side effect m defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\", \"age\": \"d[19].i\"}]"
     And the traversal of
       """
-      g.withSideEffect("c", xx1).
-        withSideEffect("m", xx2).
-        mergeV(__.select("c")).option(Merge.onCreate, __.select("m"))
+      g.mergeV(__.select("c")).option(Merge.onCreate, __.select("m"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -301,13 +299,11 @@ Feature: Step - mergeV()
       """
       g.addV("person").property("name", "marko").property("age", 29)
       """
-    And using the parameter xx1 defined as "m[{\"t[label]\": \"person\", \"name\":\"marko\"}]"
-    And using the parameter xx2 defined as "m[{\"age\": \"d[19].i\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"person\", \"name\":\"marko\"}]"
+    And using the side effect m defined as "m[{\"age\": \"d[19].i\"}]"
     And the traversal of
       """
-      g.withSideEffect("c", xx1).
-        withSideEffect("m", xx2).
-        mergeV(__.select("c")).option(Merge.onMatch, __.select("m"))
+      g.mergeV(__.select("c")).option(Merge.onMatch, __.select("m"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -397,13 +393,11 @@ Feature: Step - mergeV()
       """
       g.addV("person").property("name", "marko").property("age", 29)
       """
-    And using the parameter xx1 defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\"}]"
-    And using the parameter xx2 defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\", \"age\": \"d[19].i\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\"}]"
+    And using the side effect m defined as "m[{\"t[label]\": \"person\", \"name\":\"stephen\", \"age\": \"d[19].i\"}]"
     And the traversal of
       """
-      g.withSideEffect("c", xx1).
-        withSideEffect("m", xx2).
-        inject(0).mergeV(__.select("c")).option(Merge.onCreate, __.select("m"))
+      g.inject(0).mergeV(__.select("c")).option(Merge.onCreate, __.select("m"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -415,13 +409,11 @@ Feature: Step - mergeV()
       """
       g.addV("person").property("name", "marko").property("age", 29)
       """
-    And using the parameter xx1 defined as "m[{\"t[label]\": \"person\", \"name\":\"marko\"}]"
-    And using the parameter xx2 defined as "m[{\"age\": \"d[19].i\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"person\", \"name\":\"marko\"}]"
+    And using the side effect m defined as "m[{\"age\": \"d[19].i\"}]"
     And the traversal of
       """
-      g.withSideEffect("c", xx1).
-        withSideEffect("m", xx2).
-        inject(0).mergeV(__.select("c")).option(Merge.onMatch, __.select("m"))
+      g.inject(0).mergeV(__.select("c")).option(Merge.onMatch, __.select("m"))
       """
     When iterated to list
     Then the result should have a count of 1
@@ -540,13 +532,11 @@ Feature: Step - mergeV()
       """
       g.addV("person").property("name", "marko").property(Cardinality.list, "age", 29).property(Cardinality.list, "age", 31).property(Cardinality.list, "age", 32)
       """
-    And using the parameter xx1 defined as "m[{\"t[label]\": \"person\", \"name\":\"marko\"}]"
-    And using the parameter xx2 defined as "m[{\"age\": \"d[19].i\"}]"
+    And using the side effect c defined as "m[{\"t[label]\": \"person\", \"name\":\"marko\"}]"
+    And using the side effect m defined as "m[{\"age\": \"d[19].i\"}]"
     And the traversal of
       """
-      g.withSideEffect("c", xx1).
-        withSideEffect("m", xx2).
-        mergeV(__.select("c")).
+      g.mergeV(__.select("c")).
           option(Merge.onMatch, __.sideEffect(__.properties("age").drop()).select("m"))
       """
     When iterated to list
@@ -561,11 +551,10 @@ Feature: Step - mergeV()
       """
       g.addV("person").property("name", "marko").property(Cardinality.list, "age", 29).property(Cardinality.list, "age", 31).property(Cardinality.list, "age", 32)
       """
-    And using the parameter xx1 defined as "m[{\"age\": \"d[19].i\"}]"
+    And using the side effect m defined as "m[{\"age\": \"d[19].i\"}]"
     And the traversal of
       """
-      g.withSideEffect("m", xx1).
-        V().has("person", "name", "marko").
+      g.V().has("person", "name", "marko").
         mergeV([:]).
           option(Merge.onMatch, __.sideEffect(__.properties("age").drop()).select("m"))
       """
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Min.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Min.feature
index cff82d8cc7..d58102ca5c 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Min.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Min.feature
@@ -193,10 +193,9 @@ Feature: Step - min()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_V_foo_injectX9999999999X_min
     Given the modern graph
-    And using the parameter xx1 defined as "d[9999999999].l"
     And the traversal of
       """
-      g.V().values("foo").inject(xx1).min()
+      g.V().values("foo").inject(9999999999l).min()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Product.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Product.feature
index 5c12867440..2efc70ac4f 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Product.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Product.feature
@@ -119,10 +119,9 @@ Feature: Step - product()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_path_byXvaluesXnameX_toUpperX_productXMARKOX_unfold
     Given the modern graph
-    And using the parameter xx1 defined as "l[MARKO]"
     And the traversal of
       """
-      g.V().out().path().by(values("name").toUpper()).product(xx1).unfold()
+      g.V().out().path().by(values("name").toUpper()).product(["MARKO"]).unfold()
       """
     When iterated to list
     Then the result should be unordered
@@ -143,10 +142,9 @@ Feature: Step - product()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXmarkoX_productXV_valuesXnameX_order_foldX_unfold
     Given the modern graph
-    And using the parameter xx1 defined as "l[marko]"
     And the traversal of
       """
-      g.inject(xx1).product(__.V().values("name").order().fold()).unfold()
+      g.inject(["marko"]).product(__.V().values("name").order().fold()).unfold()
       """
     When iterated to list
     Then the result should be unordered
@@ -161,10 +159,9 @@ Feature: Step - product()
   @MultiProperties @MetaProperties
   Scenario: g_V_valueMapXlocationX_selectXvaluesX_unfold_productXdulles_seattle_vancouverX_unfold
     Given the crew graph
-    And using the parameter xx1 defined as "l[dulles,seattle,vancouver]"
     And the traversal of
       """
-      g.V().valueMap("location").select(values).unfold().product(xx1).unfold()
+      g.V().valueMap("location").select(values).unfold().product(["dulles","seattle","vancouver"]).unfold()
       """
     When iterated to list
     Then the result should be unordered
@@ -229,10 +226,9 @@ Feature: Step - product()
   @GraphComputerVerificationReferenceOnly
   Scenario: g_V_out_out_path_byXnameX_productXdave_kelvinX_unfold
     Given the modern graph
-    And using the parameter xx1 defined as "l[dave,kelvin]"
     And the traversal of
       """
-      g.V().out().out().path().by("name").product(xx1).unfold()
+      g.V().out().out().path().by("name").product(["dave","kelvin"]).unfold()
       """
     When iterated to list
     Then the result should be unordered
@@ -253,11 +249,9 @@ Feature: Step - product()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXa_null_bX_productXa_cX_unfold
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,null,b]"
-    And using the parameter xx2 defined as "l[a,c]"
     And the traversal of
       """
-      g.inject(xx1).product(xx2).unfold()
+      g.inject(["a",null,"b"]).product(["a","c"]).unfold()
       """
     When iterated to list
     Then the result should be unordered
@@ -272,11 +266,9 @@ Feature: Step - product()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXa_null_bX_productXa_null_cX_unfold
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,null,b]"
-    And using the parameter xx2 defined as "l[a,null,c]"
     And the traversal of
       """
-      g.inject(xx1).product(xx2).unfold()
+      g.inject(["a",null,"b"]).product(["a",null,"c"]).unfold()
       """
     When iterated to list
     Then the result should be unordered
@@ -294,11 +286,9 @@ Feature: Step - product()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectX3_threeX_productXfive_three_7X_unfold
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[3].i,three]"
-    And using the parameter xx2 defined as "l[five,three,d[7].i]"
     And the traversal of
       """
-      g.inject(xx1).product(xx2).unfold()
+      g.inject([3i,"three"]).product(["five","three",7i]).unfold()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Replace.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Replace.feature
index 3201db3c78..757d887dc8 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Replace.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Replace.feature
@@ -48,10 +48,9 @@ Feature: Step - replace()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXListXa_bXcX_replaceXa_bX
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,b]"
     And the traversal of
       """
-      g.inject(xx1).replace("a", "b")
+      g.inject(["a","b"]).replace("a", "b")
       """
     When iterated to list
     Then the traversal will raise an error with message containing text of "The replace() step can only take string as argument"
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Sum.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Sum.feature
index 0be10b9d21..5006faa962 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Sum.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Sum.feature
@@ -239,11 +239,9 @@ Feature: Step - sum()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXnull_10_5_nullX_sum
     Given the modern graph
-    And using the parameter xx1 defined as "d[10].i"
-    And using the parameter xx2 defined as "d[5].i"
     And the traversal of
       """
-      g.inject(null, xx1, xx2, null).sum()
+      g.inject(null, 10, 5, null).sum()
       """
     When iterated to list
     Then the result should be unordered
@@ -253,10 +251,9 @@ Feature: Step - sum()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXlistXnull_10_5_nullXX_sumXlocalX
     Given the modern graph
-    And using the parameter xx1 defined as "l[null,d[10].i,d[5].i,null]"
     And the traversal of
       """
-      g.inject(xx1).sum(local)
+      g.inject([null,10,5,null]).sum(local)
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/ToUpper.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/ToUpper.feature
index a0c531efa0..da24a1e3ba 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/ToUpper.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/ToUpper.feature
@@ -35,10 +35,9 @@ Feature: Step - toUpper()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXfeature_test_nullX_toUpperXlocalX
     Given the empty graph
-    And using the parameter xx1 defined as "l[feature,tESt,null]"
     And the traversal of
       """
-      g.inject(xx1).toUpper(Scope.local)
+      g.inject(["feature","tESt",null]).toUpper(Scope.local)
       """
     When iterated to list
     Then the result should be unordered
@@ -62,10 +61,9 @@ Feature: Step - toUpper()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXListXa_bXX_toUpper
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,b]"
     And the traversal of
       """
-      g.inject(xx1).toUpper()
+      g.inject(["a","b"]).toUpper()
       """
     When iterated to list
     Then the traversal will raise an error with message containing text of "The toUpper() step can only take string as argument"
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Trim.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Trim.feature
index 6279ca4dc3..1c65113aa0 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Trim.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/Trim.feature
@@ -55,10 +55,9 @@ Feature: Step - trim()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXListXa_bXX_trim
     Given the empty graph
-    And using the parameter xx1 defined as "l[a,b]"
     And the traversal of
     """
-    g.inject(xx1).trim()
+    g.inject(["a","b"]).trim()
     """
     When iterated to list
     Then the traversal will raise an error with message containing text of "The trim() step can only take string as argument"
@@ -66,10 +65,9 @@ Feature: Step - trim()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXListX1_2XX_trimXlocalX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].i,d[2].i]"
     And the traversal of
     """
-    g.inject(xx1).trim(Scope.local)
+    g.inject([1,2]).trim(Scope.local)
     """
     When iterated to list
     Then the traversal will raise an error with message containing text of "The trim(local) step can only take string or list of strings"
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Comparability.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Comparability.feature
index ed44775b77..401d6e50e7 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Comparability.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Comparability.feature
@@ -95,10 +95,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNaNX_eqXNaNX
     Given the empty graph
-    And using the parameter xx1 defined as "d[NaN]"
     And the traversal of
       """
-      g.inject(xx1).is(P.eq(NaN))
+      g.inject(NaN).is(P.eq(NaN))
       """
     When iterated to list
     Then the result should be empty
@@ -106,10 +105,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNaNX_neqXNaNX
     Given the empty graph
-    And using the parameter xx1 defined as "d[NaN]"
     And the traversal of
       """
-      g.inject(xx1).is(P.neq(NaN))
+      g.inject(NaN).is(P.neq(NaN))
       """
     When iterated to list
     Then the result should be unordered
@@ -119,10 +117,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNaNX_ltXNaNX
     Given the empty graph
-    And using the parameter xx1 defined as "d[NaN]"
     And the traversal of
       """
-      g.inject(xx1).is(P.lt(NaN))
+      g.inject(NaN).is(P.lt(NaN))
       """
     When iterated to list
     Then the result should be empty
@@ -130,10 +127,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNaNX_lteXNaNX
     Given the empty graph
-    And using the parameter xx1 defined as "d[NaN]"
     And the traversal of
       """
-      g.inject(xx1).is(P.lte(NaN))
+      g.inject(NaN).is(P.lte(NaN))
       """
     When iterated to list
     Then the result should be empty
@@ -141,10 +137,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNaNX_gtXNaNX
     Given the empty graph
-    And using the parameter xx1 defined as "d[NaN]"
     And the traversal of
       """
-      g.inject(xx1).is(P.gt(NaN))
+      g.inject(NaN).is(P.gt(NaN))
       """
     When iterated to list
     Then the result should be empty
@@ -152,10 +147,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNaNX_gteXNaNX
     Given the empty graph
-    And using the parameter xx1 defined as "d[NaN]"
     And the traversal of
       """
-      g.inject(xx1).is(P.gte(NaN))
+      g.inject(NaN).is(P.gte(NaN))
       """
     When iterated to list
     Then the result should be empty
@@ -880,10 +874,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXInfArgX_eqXInfX
     Given the empty graph
-    And using the parameter xx1 defined as "d[Infinity]"
     And the traversal of
       """
-      g.inject(xx1).is(P.eq(+Infinity))
+      g.inject(Infinity).is(P.eq(+Infinity))
       """
     When iterated to list
     Then the result should be unordered
@@ -903,10 +896,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXInfArgX_neqXInfX
     Given the empty graph
-    And using the parameter xx1 defined as "d[Infinity]"
     And the traversal of
       """
-      g.inject(xx1).is(P.neq(+Infinity))
+      g.inject(Infinity).is(P.neq(+Infinity))
       """
     When iterated to list
     Then the result should be empty
@@ -926,10 +918,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNegInfArgX_eqXNegInfX
     Given the empty graph
-    And using the parameter xx1 defined as "d[-Infinity]"
     And the traversal of
       """
-      g.inject(xx1).is(P.eq(-Infinity))
+      g.inject(-Infinity).is(P.eq(-Infinity))
       """
     When iterated to list
     Then the result should be unordered
@@ -949,10 +940,9 @@ Feature: Comparability
   @GraphComputerVerificationInjectionNotSupported
   Scenario: InjectXNegInfArgX_neqXNegInfX
     Given the empty graph
-    And using the parameter xx1 defined as "d[-Infinity]"
     And the traversal of
       """
-      g.inject(xx1).is(P.neq(-Infinity))
+      g.inject(-Infinity).is(P.neq(-Infinity))
       """
     When iterated to list
     Then the result should be empty
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Equality.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Equality.feature
index 58a1439266..e3a94378aa 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Equality.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/semantics/Equality.feature
@@ -21,11 +21,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXbyteX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].b"
+    And using the parameter xx1 defined as "d[1].b"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
@@ -42,11 +41,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXshortX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].s"
+    And using the parameter xx1 defined as "d[1].s"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
@@ -63,11 +61,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXintX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].i"
+    And using the parameter xx1 defined as "d[1].i"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
@@ -84,11 +81,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXlongX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].l"
+    And using the parameter xx1 defined as "d[1].l"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
@@ -105,11 +101,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXbigintX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].n"
+    And using the parameter xx1 defined as "d[1].n"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
@@ -126,11 +121,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXfloatX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].f"
+    And using the parameter xx1 defined as "d[1].f"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
@@ -147,11 +141,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXdoubleX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].d"
+    And using the parameter xx1 defined as "d[1].d"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
@@ -168,11 +161,10 @@ Feature: Equality
   @GraphComputerVerificationInjectionNotSupported
   Scenario: Primitives_Number_eqXbigdecimalX
     Given the empty graph
-    And using the parameter xx1 defined as "l[d[1].b,d[1].s,d[1].i,d[1].l,d[1].f,d[1].d,d[1000].i,d[1].m,d[1].n]"
-    And using the parameter xx2 defined as "d[1].m"
+    And using the parameter xx1 defined as "d[1].m"
     And the traversal of
       """
-      g.inject(xx1).unfold().where(__.is(xx2))
+      g.inject([1b,1s,1i,1l,1f,1d,1000i,1m,1n]).unfold().where(__.is(xx1))
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Aggregate.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Aggregate.feature
index 5729709a89..8f29804882 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Aggregate.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Aggregate.feature
@@ -174,10 +174,10 @@ Feature: Step - aggregate()
 
   Scenario: g_withSideEffectXa_setX_V_both_name_aggregateXlocal_aX_capXaX
     Given the modern graph
-    And using the parameter xx1 defined as "s[]"
+    And using the side effect a defined as "s[]"
     And the traversal of
       """
-      g.withSideEffect("a", xx1).V().both().values("name").aggregate(Scope.local,"a").cap("a")
+      g.V().both().values("name").aggregate(Scope.local,"a").cap("a")
       """
     When iterated to list
     Then the result should be unordered
@@ -517,12 +517,11 @@ Feature: Step - aggregate()
       | result |
       | true |
 
-  Scenario: g_withSideEffectXa_xx1_addAllX_V_aggregateXaX_byXageX_capXaX
+  Scenario: g_withSideEffectXa_1_2_3_addAllX_V_aggregateXaX_byXageX_capXaX
     Given the modern graph
-    And using the parameter xx1 defined as "l[d[1].i,d[2].i,d[3].i]"
     And the traversal of
     """
-    g.withSideEffect("a", xx1, Operator.addAll).V().aggregate("a").by("age").cap("a")
+    g.withSideEffect("a", [1i,2i,3i], Operator.addAll).V().aggregate("a").by("age").cap("a")
     """
     When iterated next
     Then the result should be unordered
@@ -535,12 +534,11 @@ Feature: Step - aggregate()
     | d[32].i |
     | d[35].i |
 
-  Scenario: g_withSideEffectXa_xx1_addAllX_V_aggregateXlocal_aX_byXageX_capXaX
+  Scenario: g_withSideEffectXa_1_2_3_addAllX_V_aggregateXlocal_aX_byXageX_capXaX
     Given the modern graph
-    And using the parameter xx1 defined as "l[d[1].i,d[2].i,d[3].i]"
     And the traversal of
     """
-    g.withSideEffect("a", xx1, Operator.addAll).V().aggregate(Scope.local, "a").by("age").cap("a")
+    g.withSideEffect("a", [1i,2i,3i], Operator.addAll).V().aggregate(Scope.local, "a").by("age").cap("a")
     """
     When iterated next
     Then the result should be unordered
@@ -554,12 +552,11 @@ Feature: Step - aggregate()
       | d[35].i |
 
   @GraphComputerVerificationInjectionNotSupported
-  Scenario: g_withSideEffectXa_xx1_assignX_V_aggregateXaX_byXageX_capXaX
+  Scenario: g_withSideEffectXa_1_2_3_assignX_V_aggregateXaX_byXageX_capXaX
     Given the modern graph
-    And using the parameter xx1 defined as "l[d[1].i,d[2].i,d[3].i]"
     And the traversal of
     """
-    g.withSideEffect("a", xx1, Operator.assign).V().aggregate("a").by("age").cap("a")
+    g.withSideEffect("a", [1i,2i,3i], Operator.assign).V().aggregate("a").by("age").cap("a")
     """
     When iterated next
     Then the result should be unordered
@@ -570,13 +567,12 @@ Feature: Step - aggregate()
     | d[35].i |
 
   @GraphComputerVerificationInjectionNotSupported
-  Scenario: g_withSideEffectXa_xx1_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX
+  Scenario: g_withSideEffectXa_1_2_3_assignX_V_order_byXageX_aggregateXlocal_aX_byXageX_capXaX
     Given the modern graph
-    And using the parameter xx1 defined as "l[d[1].i,d[2].i,d[3].i]"
     And the traversal of
     # add order().by("age") to deterministically assign a vertex with the largest age value at the end
     """
-    g.withSideEffect("a", xx1, Operator.assign).V().order().by("age").aggregate(Scope.local, "a").by("age").cap("a")
+    g.withSideEffect("a", [1i,2i,3i], Operator.assign).V().order().by("age").aggregate(Scope.local, "a").by("age").cap("a")
     """
     When iterated next
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Inject.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Inject.feature
index 81380e1d45..9806f53a7e 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Inject.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Inject.feature
@@ -66,10 +66,9 @@ Feature: Step - inject()
   @GraphComputerVerificationInjectionNotSupported
   Scenario: g_injectXname_marko_age_nullX_selectXname_ageX
     Given the modern graph
-    And using the parameter xx1 defined as "m[{\"name\":\"marko\", \"age\":null}]"
     And the traversal of
       """
-      g.inject(xx1).select("name","age")
+      g.inject([name:"marko",age:null]).select("name","age")
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Sack.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Sack.feature
index a218dde55b..c97569cb4d 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Sack.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Sack.feature
@@ -355,10 +355,9 @@ Feature: Step - sack()
 
   Scenario: g_withSackX2X_V_sackXdivX_byXconstantX4_0XX_sack
     Given the modern graph
-    And using the parameter xx1 defined as "d[4.0].d"
     And the traversal of
       """
-      g.withSack(2).V().sack(Operator.div).by(__.constant(xx1)).sack()
+      g.withSack(2).V().sack(Operator.div).by(__.constant(4.0d)).sack()
       """
     When iterated to list
     Then the result should be unordered
diff --git a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Store.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Store.feature
index 00961ba703..472826f9c5 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Store.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/sideEffect/Store.feature
@@ -51,10 +51,10 @@ Feature: Step - store()
 
   Scenario: g_withSideEffectXa_setX_V_both_name_storeXaX_capXaX
     Given the modern graph
-    And using the parameter xx1 defined as "s[]"
+    And using the side effect a defined as "s[]"
     And the traversal of
       """
-      g.withSideEffect("a", xx1).V().both().values("name").store("a").cap("a")
+      g.V().both().values("name").store("a").cap("a")
       """
     When iterated to list
     Then the result should be unordered