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

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

commit a47b2f748c6c05a8fae9e85f923dc871c40f79e0
Author: Cole-Greer <cole.gr...@improving.com>
AuthorDate: Mon Apr 28 14:26:15 2025 -0700

    Rename grammar types to improve descriptiveness and consistency
---
 .../gremlin/language/grammar/ArgumentVisitor.java  |  71 ++----
 .../grammar/DefaultGremlinBaseVisitor.java         |  38 ++--
 .../language/grammar/GenericLiteralVisitor.java    |  87 ++++----
 .../grammar/ParseTreeContextCastHelper.java        |   4 +-
 .../language/grammar/StructureElementVisitor.java  |   4 +-
 .../language/grammar/TraversalMethodVisitor.java   | 132 ++++++-----
 .../grammar/TraversalPredicateVisitor.java         |  32 ++-
 .../grammar/TraversalSourceSelfMethodVisitor.java  |  12 +-
 .../grammar/TraversalSourceSpawnMethodVisitor.java |  14 +-
 .../language/grammar/TraversalStrategyVisitor.java |   2 +-
 .../translator/AnonymizedTranslatorVisitor.java    |   8 +-
 .../translator/DotNetTranslateVisitor.java         |  74 +++----
 .../language/translator/GoTranslateVisitor.java    |  10 +-
 .../translator/GroovyTranslateVisitor.java         |   6 +-
 .../language/translator/JavaTranslateVisitor.java  |  26 +--
 .../translator/JavascriptTranslateVisitor.java     |  10 +-
 .../translator/PythonTranslateVisitor.java         |  10 +-
 .../language/translator/TranslateVisitor.java      |  45 ++--
 .../language/grammar/ArgumentVisitorTest.java      |   4 +-
 .../grammar/GeneralLiteralVisitorTest.java         |   4 +-
 gremlin-language/src/main/antlr4/Gremlin.g4        | 241 ++++++++++-----------
 21 files changed, 357 insertions(+), 477 deletions(-)

diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java
index d153085205..178baf1ea8 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitor.java
@@ -23,7 +23,6 @@ import 
org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 
 import java.lang.reflect.Array;
 import java.time.OffsetDateTime;
-import java.util.Comparator;
 import java.util.Map;
 import java.util.Objects;
 
@@ -76,8 +75,8 @@ public class ArgumentVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     /**
      * Wrapper for visit function for object types.
      */
-    public Object parseObject(final 
GremlinParser.GenericLiteralArgumentContext ctx) {
-        return visitGenericLiteralArgument(ctx);
+    public Object parseObject(final GremlinParser.GenericArgumentContext ctx) {
+        return visitGenericArgument(ctx);
     }
 
     /**
@@ -90,40 +89,29 @@ public class ArgumentVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     /**
      * Wrapper for visit function for {@code Map} types.
      */
-    public Map parseMap(final GremlinParser.GenericLiteralMapArgumentContext 
ctx) {
-        return (Map) visitGenericLiteralMapArgument(ctx);
+    public Map parseMap(final GremlinParser.GenericMapArgumentContext ctx) {
+        return (Map) visitGenericMapArgument(ctx);
     }
 
     /**
      * Wrapper for visit function for {@code Map} types.
      */
-    public Map parseMap(final 
GremlinParser.GenericLiteralMapNullableArgumentContext ctx) {
-        return (Map) visitGenericLiteralMapNullableArgument(ctx);
+    public Map parseMap(final GremlinParser.GenericMapNullableArgumentContext 
ctx) {
+        return (Map) visitGenericMapNullableArgument(ctx);
     }
 
     /**
      * Wrapper for visit function for list types.
      */
-    public Object[] parseObjectVarargs(final 
GremlinParser.GenericLiteralListArgumentContext ctx) {
-        if (ctx.genericLiteralList() != null) {
-            return 
antlr.genericVisitor.parseObjectList(ctx.genericLiteralList());
-        } else {
-            final Object l = visitVariable(ctx.variable());
-            if (null == l) {
-                return null;
-            } else if (l.getClass().isArray()) {
-                final int length = Array.getLength(l);
-                final Object[] result = new Object[length];
-                for (int i = 0; i < length; i++) {
-                    result[i] = Array.get(l, i);
-                }
-                return result;
-            } else if (l instanceof Iterable) {
-                return IteratorUtils.list(((Iterable<?>) 
l).iterator()).toArray();
-            } else {
-                return new Object[] { l };
-            }
+    public Object[] parseObjectVarargs(final 
GremlinParser.GenericArgumentVarargsContext ctx) {
+        if (ctx == null || ctx.genericArgument() == null) {
+            return new Object[0];
         }
+        return ctx.genericArgument()
+                .stream()
+                .filter(Objects::nonNull)
+                .map(antlr.argumentVisitor::visitGenericArgument)
+                .toArray(Object[]::new);
     }
 
     /**
@@ -188,7 +176,7 @@ public class ArgumentVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     }
 
     @Override
-    public Object visitGenericLiteralArgument(final 
GremlinParser.GenericLiteralArgumentContext ctx) {
+    public Object visitGenericArgument(final 
GremlinParser.GenericArgumentContext ctx) {
         if (ctx.genericLiteral() != null) {
             return 
antlr.genericVisitor.visitGenericLiteral(ctx.genericLiteral());
         } else {
@@ -196,39 +184,28 @@ public class ArgumentVisitor extends 
DefaultGremlinBaseVisitor<Object> {
         }
     }
 
-    @Override
-    public Object visitGenericLiteralListArgument(final 
GremlinParser.GenericLiteralListArgumentContext ctx) {
-        if (ctx.genericLiteralList() != null) {
-            return 
antlr.genericVisitor.visitChildren(ctx.genericLiteralList());
-        } else {
-            return visitVariable(ctx.variable());
-        }
-    }
-
     @Override
     public Object visitStructureVertexArgument(final 
GremlinParser.StructureVertexArgumentContext ctx) {
-        if (ctx.structureVertex() != null) {
-            return 
antlr.structureVisitor.visitStructureVertex(ctx.structureVertex());
+        if (ctx.structureVertexLiteral() != null) {
+            return 
antlr.structureVisitor.visitStructureVertexLiteral(ctx.structureVertexLiteral());
         } else {
             return visitVariable(ctx.variable());
         }
     }
 
     @Override
-    public Object visitGenericLiteralMapArgument(final 
GremlinParser.GenericLiteralMapArgumentContext ctx) {
-        if (ctx.genericLiteralMap() != null) {
-            return 
antlr.genericVisitor.visitGenericLiteralMap(ctx.genericLiteralMap());
+    public Object visitGenericMapArgument(final 
GremlinParser.GenericMapArgumentContext ctx) {
+        if (ctx.genericMapLiteral() != null) {
+            return 
antlr.genericVisitor.visitGenericMapLiteral(ctx.genericMapLiteral());
         } else {
             return visitVariable(ctx.variable());
         }
     }
 
     @Override
-    public Object visitGenericLiteralMapNullableArgument(final 
GremlinParser.GenericLiteralMapNullableArgumentContext ctx) {
-        if (ctx.nullLiteral() != null) {
-            return null;
-        } else if (ctx.genericLiteralMap() != null) {
-            return 
antlr.genericVisitor.visitGenericLiteralMap(ctx.genericLiteralMap());
+    public Object visitGenericMapNullableArgument(final 
GremlinParser.GenericMapNullableArgumentContext ctx) {
+        if (ctx.genericMapNullableLiteral() != null) {
+            return 
antlr.genericVisitor.visitGenericMapNullableLiteral(ctx.genericMapNullableLiteral());
         } else {
             return visitVariable(ctx.variable());
         }
@@ -237,7 +214,7 @@ public class ArgumentVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     /**
      * Parse a string literal varargs, and return a string array
      */
-    public String[] parseStringVarargs(final 
GremlinParser.StringLiteralVarargsArgumentContext varargsArgumentContext) {
+    public String[] parseStringVarargs(final 
GremlinParser.StringNullableArgumentVarargsContext varargsArgumentContext) {
         if (varargsArgumentContext == null || 
varargsArgumentContext.stringNullableArgument() == null) {
             return new String[0];
         }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
index bfa4f36497..9450202b35 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
@@ -1250,7 +1250,7 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitTraversalStrategyList(final 
GremlinParser.TraversalStrategyListContext ctx) { notImplemented(ctx); return 
null; }
+       @Override public T visitTraversalStrategyVarargs(final 
GremlinParser.TraversalStrategyVarargsContext ctx) { notImplemented(ctx); 
return null; }
        /**
         * {@inheritDoc}
         */
@@ -1263,10 +1263,6 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
         * {@inheritDoc}
         */
        @Override public T visitNestedTraversalExpr(final 
GremlinParser.NestedTraversalExprContext ctx) { notImplemented(ctx); return 
null; }
-       /**
-        * {@inheritDoc}
-        */
-       @Override public T visitGenericLiteralList(final 
GremlinParser.GenericLiteralListContext ctx) { notImplemented(ctx); return 
null; }
        /**
         * {@inheritDoc}
         */
@@ -1274,19 +1270,19 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) { notImplemented(ctx); return 
null; }
+       @Override public T visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) { notImplemented(ctx); return 
null; }
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) { notImplemented(ctx); 
return null; }
+       @Override public T visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) { notImplemented(ctx); 
return null; }
        /**
         * {@inheritDoc}
         */
-       @Override public T visitStringLiteralList(final 
GremlinParser.StringLiteralListContext ctx) { notImplemented(ctx); return null; 
}
+       @Override public T visitStringNullableLiteralVarargs(final 
GremlinParser.StringNullableLiteralVarargsContext ctx) { notImplemented(ctx); 
return null; }
        /**
         * {@inheritDoc}
         */
-       @Override public T visitStringLiteralExpr(final 
GremlinParser.StringLiteralExprContext ctx) { notImplemented(ctx); return null; 
}
+       @Override public T visitStringNullableArgumentVarargs(final 
GremlinParser.StringNullableArgumentVarargsContext ctx) { notImplemented(ctx); 
return null; }
        /**
         * {@inheritDoc}
         */
@@ -1294,7 +1290,7 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) { notImplemented(ctx); return null; 
}
+       @Override public T visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) { notImplemented(ctx); return null; 
}
        /**
         * {@inheritDoc}
         */
@@ -1370,7 +1366,7 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) { notImplemented(ctx); return null; }
+       @Override public T visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) { notImplemented(ctx); return 
null; }
        /**
         * {@inheritDoc}
         */
@@ -1608,11 +1604,11 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralArgument(final 
GremlinParser.GenericLiteralArgumentContext ctx) { notImplemented(ctx); return 
null; }
+       @Override public T visitGenericArgument(final 
GremlinParser.GenericArgumentContext ctx) { notImplemented(ctx); return null; }
        /**
         * {@inheritDoc}
         */
-       @Override public T 
visitGenericLiteralListArgument(GremlinParser.GenericLiteralListArgumentContext 
ctx) { notImplemented(ctx); return null; }
+       @Override public T 
visitGenericArgumentVarargs(GremlinParser.GenericArgumentVarargsContext ctx) { 
notImplemented(ctx); return null; }
        /**
         * {@inheritDoc}
         */
@@ -1620,15 +1616,11 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralMapArgument(final 
GremlinParser.GenericLiteralMapArgumentContext ctx) { notImplemented(ctx); 
return null; }
+       @Override public T visitGenericMapArgument(final 
GremlinParser.GenericMapArgumentContext ctx) { notImplemented(ctx); return 
null; }
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralMapNullableArgument(final 
GremlinParser.GenericLiteralMapNullableArgumentContext ctx) { 
notImplemented(ctx); return null; }
-       /**
-        * {@inheritDoc}
-        */
-       @Override public T visitStringLiteralVarargs(final 
GremlinParser.StringLiteralVarargsContext ctx) { notImplemented(ctx); return 
null; }
+       @Override public T visitGenericMapNullableArgument(final 
GremlinParser.GenericMapNullableArgumentContext ctx) { notImplemented(ctx); 
return null; }
        /**
         * {@inheritDoc}
         */
@@ -1664,7 +1656,7 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) { notImplemented(ctx); return null; 
}
+       @Override public T visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) { notImplemented(ctx); return null; 
}
        /**
         * {@inheritDoc}
         */
@@ -1684,11 +1676,7 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
        /**
         * {@inheritDoc}
         */
-       @Override public T visitGenericLiteralMapNullable(final 
GremlinParser.GenericLiteralMapNullableContext ctx) { notImplemented(ctx); 
return null; }
-       /**
-        * {@inheritDoc}
-        */
-       @Override public T visitStringLiteralVarargsArgument(final 
GremlinParser.StringLiteralVarargsArgumentContext ctx) { notImplemented(ctx); 
return null; }
+       @Override public T visitGenericMapNullableLiteral(final 
GremlinParser.GenericMapNullableLiteralContext ctx) { notImplemented(ctx); 
return null; }
        /**
         * {@inheritDoc}
         */
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java
index 04499f1380..2778336dc2 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/GenericLiteralVisitor.java
@@ -93,8 +93,8 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     /**
      * Parse a map literal context and return the map literal
      */
-    public Map parseMap(final GremlinParser.GenericLiteralMapContext 
mapLiteral) {
-        return (Map) visitGenericLiteralMap(mapLiteral);
+    public Map parseMap(final GremlinParser.GenericMapLiteralContext 
mapLiteral) {
+        return (Map) visitGenericMapLiteral(mapLiteral);
     }
 
     /**
@@ -104,21 +104,14 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
         return (boolean) visitBooleanLiteral(booleanLiteral);
     }
 
-    /**
-     * Parse a String literal list context and return a string array
-     */
-    public String[] parseStringList(final 
GremlinParser.StringLiteralListContext stringLiteralList) {
-        return (String[]) visitStringLiteralList(stringLiteralList);
-    }
-
     /**
      * Parse a generic literal list, and return an object array
      */
-    public Object[] parseObjectList(final 
GremlinParser.GenericLiteralListContext objectLiteralList) {
-        if (objectLiteralList == null || 
objectLiteralList.genericLiteralExpr() == null) {
+    public Object[] parseObjectList(final 
GremlinParser.GenericCollectionLiteralContext collectionLiteral) {
+        if (collectionLiteral == null || collectionLiteral.genericLiteral() == 
null) {
             return new Object[0];
         }
-        return objectLiteralList.genericLiteralExpr().genericLiteral()
+        return collectionLiteral.genericLiteral()
                 .stream()
                 .filter(Objects::nonNull)
                 .map(antlr.genericVisitor::visitGenericLiteral)
@@ -129,20 +122,20 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
      * Parse a generic literal varargs, and return an object array
      */
     public Object[] parseObjectVarargs(final 
GremlinParser.GenericLiteralVarargsContext varargsContext) {
-        if (varargsContext == null || varargsContext.genericLiteralArgument() 
== null) {
+        if (varargsContext == null || varargsContext.genericLiteralExpr() == 
null || varargsContext.genericLiteralExpr().genericLiteral() == null) {
             return new Object[0];
         }
-        return varargsContext.genericLiteralArgument()
+        return varargsContext.genericLiteralExpr().genericLiteral()
                 .stream()
                 .filter(Objects::nonNull)
-                .map(antlr.argumentVisitor::visitGenericLiteralArgument)
+                .map(antlr.genericVisitor::visitGenericLiteral)
                 .toArray(Object[]::new);
     }
 
     /**
-     * Parse a string literal varargs, and return an string array
+     * Parse a string literal varargs, and return a string array
      */
-    public String[] parseStringVarargs(final 
GremlinParser.StringLiteralVarargsContext varargsContext) {
+    public String[] parseStringVarargs(final 
GremlinParser.StringNullableLiteralVarargsContext varargsContext) {
         if (varargsContext == null) {
             return new String[0];
         }
@@ -156,7 +149,7 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     /**
      * Parse a TraversalStrategy literal list context and return a string array
      */
-    public static TraversalStrategy[] parseTraversalStrategyList(final 
GremlinParser.TraversalStrategyListContext traversalStrategyListContext,
+    public static TraversalStrategy[] parseTraversalStrategyList(final 
GremlinParser.TraversalStrategyVarargsContext traversalStrategyListContext,
                                                                  final 
DefaultGremlinBaseVisitor<TraversalStrategy> traversalStrategyVisitor) {
         if (traversalStrategyListContext == null || 
traversalStrategyListContext.traversalStrategyExpr() == null) {
             return new TraversalStrategy[0];
@@ -267,14 +260,6 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
         return results;
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Object visitGenericLiteralList(final 
GremlinParser.GenericLiteralListContext ctx) {
-        return visitChildren(ctx);
-    }
-
     /**
      * {@inheritDoc}
      */
@@ -299,7 +284,7 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     }
 
     @Override
-    public Object visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) {
+    public Object visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) {
         final Set<Object> result = new HashSet<>(ctx.getChildCount() / 2);
         for (GremlinParser.GenericLiteralContext ic : ctx.genericLiteral()) {
             result.add(antlr.genericVisitor.visitGenericLiteral(ic));
@@ -319,7 +304,7 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
      * {@inheritDoc}
      */
     @Override
-    public Object visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Object visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         if (ctx == null) {
             return null;
         }
@@ -346,12 +331,12 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
                 key = 
visitTraversalDirection((GremlinParser.TraversalDirectionContext) kctx);
             } else if (kctx instanceof 
GremlinParser.TraversalDirectionLongContext) {
                 key = 
visitTraversalDirectionLong((GremlinParser.TraversalDirectionLongContext) kctx);
-            }else if (kctx instanceof 
GremlinParser.GenericLiteralCollectionContext) {
-                key = 
visitGenericLiteralCollection((GremlinParser.GenericLiteralCollectionContext) 
kctx);
-            } else if (kctx instanceof GremlinParser.GenericLiteralSetContext) 
{
-                key = 
visitGenericLiteralSet((GremlinParser.GenericLiteralSetContext) kctx);
-            } else if (kctx instanceof GremlinParser.GenericLiteralMapContext) 
{
-                key = 
visitGenericLiteralMap((GremlinParser.GenericLiteralMapContext) kctx);
+            }else if (kctx instanceof 
GremlinParser.GenericCollectionLiteralContext) {
+                key = 
visitGenericCollectionLiteral((GremlinParser.GenericCollectionLiteralContext) 
kctx);
+            } else if (kctx instanceof GremlinParser.GenericSetLiteralContext) 
{
+                key = 
visitGenericSetLiteral((GremlinParser.GenericSetLiteralContext) kctx);
+            } else if (kctx instanceof GremlinParser.GenericMapLiteralContext) 
{
+                key = 
visitGenericMapLiteral((GremlinParser.GenericMapLiteralContext) kctx);
             } else if (kctx instanceof GremlinParser.KeywordContext) {
                 key = ((GremlinParser.KeywordContext) kctx).getText();
             } else if (kctx instanceof GremlinParser.NakedKeyContext) {
@@ -369,7 +354,21 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
         return literalMap;
     }
 
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Object visitGenericMapNullableLiteral(final 
GremlinParser.GenericMapNullableLiteralContext ctx) {
+        if (ctx == null) {
+            return null;
+        }
+
+        if (ctx.nullLiteral() != null) {
+            return visitNullLiteral(ctx.nullLiteral());
+        }
 
+        return visitGenericMapLiteral(ctx.genericMapLiteral());
+    }
 
     /**
      * {@inheritDoc}
@@ -380,8 +379,8 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
     }
 
     @Override
-    public Object visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
-        return antlr.structureVisitor.visitStructureVertex(ctx);
+    public Object visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
+        return antlr.structureVisitor.visitStructureVertexLiteral(ctx);
     }
 
     /**
@@ -599,7 +598,7 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
      * {@inheritDoc}
      */
     @Override
-    public Object visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) {
+    public Object visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) {
         final int childIndexOfParameterStart = 0;
         final int childIndexOfParameterEnd = 3;
         final ParseTree startContext = 
ctx.getChild(childIndexOfParameterStart);
@@ -648,7 +647,7 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
      * Generic literal collection returns a list of {@code Object}
      */
     @Override
-    public Object visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
+    public Object visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         final List<Object> result = new ArrayList<>(ctx.getChildCount() / 2);
         for (GremlinParser.GenericLiteralContext ic : ctx.genericLiteral()) {
             result.add(antlr.genericVisitor.visitGenericLiteral(ic));
@@ -656,18 +655,6 @@ public class GenericLiteralVisitor extends 
DefaultGremlinBaseVisitor<Object> {
         return result;
     }
 
-    @Override
-    public Object visitStringLiteralList(final 
GremlinParser.StringLiteralListContext ctx) {
-        if (ctx == null || ctx.stringLiteralExpr() == null) {
-            return new String[0];
-        }
-        return ctx.stringLiteralExpr().stringNullableLiteral()
-                .stream()
-                .filter(Objects::nonNull)
-                .map(this::visitStringNullableLiteral)
-                .toArray(String[]::new);
-    }
-
     @Override
     public Object visitStringNullableLiteral(final 
GremlinParser.StringNullableLiteralContext ctx) {
         if (ctx.K_NULL() != null)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java
index 5d665ae45e..a80ba1ad1e 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/ParseTreeContextCastHelper.java
@@ -31,7 +31,7 @@ public class ParseTreeContextCastHelper {
      * @param childIndex : child index
      * @return casted GenericLiteralContext
      */
-    public static GremlinParser.GenericLiteralArgumentContext 
castChildToGenericLiteral(final ParseTree ctx, final int childIndex) {
-        return 
(GremlinParser.GenericLiteralArgumentContext)(ctx.getChild(childIndex));
+    public static GremlinParser.GenericArgumentContext 
castChildToGenericLiteral(final ParseTree ctx, final int childIndex) {
+        return 
(GremlinParser.GenericArgumentContext)(ctx.getChild(childIndex));
     }
 }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java
index 007985842a..a6e90c998a 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/StructureElementVisitor.java
@@ -31,8 +31,8 @@ public class StructureElementVisitor extends 
GremlinBaseVisitor<Element> {
     }
 
     @Override
-    public Vertex visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
-        return new 
ReferenceVertex(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()),
+    public Vertex visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
+        return new 
ReferenceVertex(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()),
                 (String) 
antlr.argumentVisitor.visitStringArgument(ctx.stringArgument()));
     }
 }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
index fbf4ecb2d2..6a45f660ff 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
@@ -36,8 +36,6 @@ import java.util.Map;
 
 import java.util.function.BiFunction;
 
-import static 
org.apache.tinkerpop.gremlin.process.traversal.SackFunctions.Barrier.normSack;
-
 /**
  * Specific case of TraversalRootVisitor where all TraversalMethods returns
  * a GraphTraversal object.
@@ -66,7 +64,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_V(final 
GremlinParser.TraversalMethod_VContext ctx) {
-        return 
this.graphTraversal.V(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
this.graphTraversal.V(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -74,7 +72,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_E(final 
GremlinParser.TraversalMethod_EContext ctx) {
-        return 
this.graphTraversal.E(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
this.graphTraversal.E(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -98,7 +96,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_mergeV_Map(final 
GremlinParser.TraversalMethod_mergeV_MapContext ctx) {
-        return 
this.graphTraversal.mergeV(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument()));
+        return 
this.graphTraversal.mergeV(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument()));
     }
 
     /**
@@ -130,7 +128,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_mergeE_Map(final 
GremlinParser.TraversalMethod_mergeE_MapContext ctx) {
-        return 
this.graphTraversal.mergeE(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument()));
+        return 
this.graphTraversal.mergeE(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument()));
     }
 
     /**
@@ -217,7 +215,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
             return 
graphTraversal.as(antlr.genericVisitor.parseString(ctx.stringLiteral()));
         } else {
             return 
graphTraversal.as(antlr.genericVisitor.parseString(ctx.stringLiteral()),
-                    
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                    
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
         }
     }
 
@@ -250,7 +248,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_both(final 
GremlinParser.TraversalMethod_bothContext ctx) {
-        return 
graphTraversal.both(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument()));
+        return 
graphTraversal.both(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs()));
     }
 
     /**
@@ -258,7 +256,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_bothE(final 
GremlinParser.TraversalMethod_bothEContext ctx) {
-        return 
graphTraversal.bothE(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument()));
+        return 
graphTraversal.bothE(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs()));
     }
 
     /**
@@ -383,7 +381,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
             return 
graphTraversal.cap(antlr.genericVisitor.parseString(ctx.stringLiteral()));
         } else {
             return 
graphTraversal.cap(antlr.genericVisitor.parseString(ctx.stringLiteral()),
-                    
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                    
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
         }
     }
 
@@ -462,7 +460,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_combine_Object(final 
GremlinParser.TraversalMethod_combine_ObjectContext ctx) {
-        return 
graphTraversal.combine(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+        return 
graphTraversal.combine(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -487,7 +485,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public GraphTraversal visitTraversalMethod_constant(final 
GremlinParser.TraversalMethod_constantContext ctx) {
         return graphTraversal
-                
.constant(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+                
.constant(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -521,7 +519,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     public GraphTraversal visitTraversalMethod_dedup_Scope_String(final 
GremlinParser.TraversalMethod_dedup_Scope_StringContext ctx) {
         return graphTraversal.dedup(
                 TraversalEnumParser.parseTraversalEnumFromContext(Scope.class, 
ctx.traversalScope()),
-                
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -529,7 +527,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_dedup_String(final 
GremlinParser.TraversalMethod_dedup_StringContext ctx) {
-        return 
graphTraversal.dedup(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.dedup(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -537,7 +535,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_difference_Object(final 
GremlinParser.TraversalMethod_difference_ObjectContext ctx) {
-        return 
graphTraversal.difference(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+        return 
graphTraversal.difference(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -545,7 +543,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_disjunct_Object(final 
GremlinParser.TraversalMethod_disjunct_ObjectContext ctx) {
-        return 
graphTraversal.disjunct(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+        return 
graphTraversal.disjunct(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -634,7 +632,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public GraphTraversal visitTraversalMethod_fold_Object_BiFunction(final 
GremlinParser.TraversalMethod_fold_Object_BiFunctionContext ctx) {
         return graphTraversal.fold(
-                
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()),
+                
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()),
                 (BiFunction) 
TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, 
ctx.getChild(4)));
     }
 
@@ -691,8 +689,8 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_hasId_Object_Object(final 
GremlinParser.TraversalMethod_hasId_Object_ObjectContext ctx) {
-        return 
graphTraversal.hasId(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()),
-                
antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
graphTraversal.hasId(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()),
+                
antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -720,7 +718,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
             return 
graphTraversal.hasKey(antlr.genericVisitor.parseString(ctx.stringNullableLiteral()));
         } else {
             return 
graphTraversal.hasKey(antlr.genericVisitor.parseString(ctx.stringNullableLiteral()),
-                    
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                    
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
         }
     }
 
@@ -741,7 +739,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
             return 
graphTraversal.hasLabel(antlr.argumentVisitor.parseString(ctx.stringNullableArgument()));
         } else {
             return 
graphTraversal.hasLabel(antlr.argumentVisitor.parseString(ctx.stringNullableArgument()),
-                    
antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument()));
+                    
antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs()));
         }
     }
 
@@ -758,8 +756,8 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_hasValue_Object_Object(final 
GremlinParser.TraversalMethod_hasValue_Object_ObjectContext ctx) {
-        return 
graphTraversal.hasValue(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()),
-                
antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
graphTraversal.hasValue(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()),
+                
antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -784,7 +782,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public GraphTraversal visitTraversalMethod_has_String_Object(final 
GremlinParser.TraversalMethod_has_String_ObjectContext ctx) {
         return 
graphTraversal.has(antlr.genericVisitor.parseString(ctx.stringNullableLiteral()),
-                
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+                
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -803,7 +801,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     public GraphTraversal visitTraversalMethod_has_String_String_Object(final 
GremlinParser.TraversalMethod_has_String_String_ObjectContext ctx) {
         return 
graphTraversal.has(antlr.argumentVisitor.parseString(ctx.stringNullableArgument()),
                 antlr.genericVisitor.parseString(ctx.stringNullableLiteral()),
-                
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+                
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -831,7 +829,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public GraphTraversal visitTraversalMethod_has_T_Object(final 
GremlinParser.TraversalMethod_has_T_ObjectContext ctx) {
         return 
graphTraversal.has(TraversalEnumParser.parseTraversalEnumFromContext(T.class, 
ctx.traversalT()),
-                
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+                
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -873,7 +871,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_in(final 
GremlinParser.TraversalMethod_inContext ctx) {
-        return 
graphTraversal.in(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.in(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -881,7 +879,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_inE(final 
GremlinParser.TraversalMethod_inEContext ctx) {
-        return 
graphTraversal.inE(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.inE(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -889,7 +887,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_intersect_Object(final 
GremlinParser.TraversalMethod_intersect_ObjectContext ctx) {
-        return 
graphTraversal.intersect(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+        return 
graphTraversal.intersect(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -905,7 +903,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_inject(final 
GremlinParser.TraversalMethod_injectContext ctx) {
-        return 
graphTraversal.inject(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
graphTraversal.inject(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     @Override
@@ -918,7 +916,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_is_Object(final 
GremlinParser.TraversalMethod_is_ObjectContext ctx) {
-        return 
graphTraversal.is(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+        return 
graphTraversal.is(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -1026,7 +1024,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
         } else if (ctx.ioOptionsValues() != null) {
             o = 
WithOptionsVisitor.instance().visitIoOptionsValues(ctx.ioOptionsValues());
         } else {
-            o = 
antlr.argumentVisitor.parseObject(ctx.genericLiteralArgument());
+            o = antlr.argumentVisitor.parseObject(ctx.genericArgument());
         }
         return graphTraversal.with(k, o);
     }
@@ -1090,7 +1088,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_merge_Object(final 
GremlinParser.TraversalMethod_merge_ObjectContext ctx) {
-        return 
graphTraversal.merge(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+        return 
graphTraversal.merge(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -1130,7 +1128,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_option_Object_Traversal(final 
GremlinParser.TraversalMethod_option_Object_TraversalContext ctx) {
-        return 
graphTraversal.option(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()),
+        return 
graphTraversal.option(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()),
                 antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal()));
     }
 
@@ -1149,7 +1147,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     public GraphTraversal visitTraversalMethod_option_Merge_Map(final 
GremlinParser.TraversalMethod_option_Merge_MapContext ctx) {
         return graphTraversal.option(
                 TraversalEnumParser.parseTraversalEnumFromContext(Merge.class, 
ctx.traversalMerge()),
-                (Map) 
antlr.argumentVisitor.visitGenericLiteralMapNullableArgument(ctx.genericLiteralMapNullableArgument()));
+                (Map) 
antlr.argumentVisitor.visitGenericMapNullableArgument(ctx.genericMapNullableArgument()));
     }
 
     /**
@@ -1167,18 +1165,14 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public Traversal visitTraversalMethod_option_Merge_Map_Cardinality(final 
GremlinParser.TraversalMethod_option_Merge_Map_CardinalityContext ctx) {
-        if (ctx.genericLiteralMapNullableArgument().nullLiteral() != null) {
-            return 
this.graphTraversal.option(TraversalEnumParser.parseTraversalEnumFromContext(Merge.class,
 ctx.traversalMerge()), (Map) null);
-        }
-
-        if (ctx.genericLiteralMapNullableArgument().variable() != null) {
+        if (ctx.genericMapNullableArgument().variable() != null) {
             return 
graphTraversal.option(TraversalEnumParser.parseTraversalEnumFromContext(Merge.class,
 ctx.traversalMerge()),
-                    (Map) 
antlr.argumentVisitor.visitVariable(ctx.genericLiteralMapNullableArgument().variable()),
+                    (Map) 
antlr.argumentVisitor.visitVariable(ctx.genericMapNullableArgument().variable()),
                     
TraversalEnumParser.parseTraversalEnumFromContext(Cardinality.class, 
ctx.traversalCardinality()));
         }
 
         return 
graphTraversal.option(TraversalEnumParser.parseTraversalEnumFromContext(Merge.class,
 ctx.traversalMerge()),
-                (Map) new 
GenericLiteralVisitor(antlr).visitGenericLiteralMap(ctx.genericLiteralMapNullableArgument().genericLiteralMap()),
+                (Map) new 
GenericLiteralVisitor(antlr).visitGenericMapNullableLiteral(ctx.genericMapNullableArgument().genericMapNullableLiteral()),
                 
TraversalEnumParser.parseTraversalEnumFromContext(Cardinality.class, 
ctx.traversalCardinality()));
     }
 
@@ -1228,7 +1222,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_out(final 
GremlinParser.TraversalMethod_outContext ctx) {
-        return 
graphTraversal.out(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument()));
+        return 
graphTraversal.out(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs()));
     }
 
     /**
@@ -1236,7 +1230,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_outE(final 
GremlinParser.TraversalMethod_outEContext ctx) {
-        return 
graphTraversal.outE(antlr.argumentVisitor.parseStringVarargs(ctx.stringLiteralVarargsArgument()));
+        return 
graphTraversal.outE(antlr.argumentVisitor.parseStringVarargs(ctx.stringNullableArgumentVarargs()));
     }
 
     /**
@@ -1289,7 +1283,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_product_Object(final 
GremlinParser.TraversalMethod_product_ObjectContext ctx) {
-        return 
graphTraversal.product(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+        return 
graphTraversal.product(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
     }
 
     /**
@@ -1317,7 +1311,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
             return 
graphTraversal.project(antlr.genericVisitor.parseString(ctx.stringLiteral()));
         } else {
             return 
graphTraversal.project(antlr.genericVisitor.parseString(ctx.stringLiteral()),
-                    
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                    
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
         }
     }
 
@@ -1326,7 +1320,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_properties(final 
GremlinParser.TraversalMethod_propertiesContext ctx) {
-        return 
graphTraversal.properties(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.properties(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -1334,7 +1328,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_elementMap(final 
GremlinParser.TraversalMethod_elementMapContext ctx) {
-        return 
graphTraversal.elementMap(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.elementMap(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -1342,7 +1336,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_propertyMap(final 
GremlinParser.TraversalMethod_propertyMapContext ctx) {
-        return 
graphTraversal.propertyMap(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.propertyMap(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -1351,9 +1345,9 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public GraphTraversal 
visitTraversalMethod_property_Cardinality_Object_Object_Object(final 
GremlinParser.TraversalMethod_property_Cardinality_Object_Object_ObjectContext 
ctx) {
         return 
graphTraversal.property(TraversalEnumParser.parseTraversalEnumFromContext(Cardinality.class,
 ctx.traversalCardinality()),
-                
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(0)),
-                
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(1)),
-                
antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+                
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(0)),
+                
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(1)),
+                
antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -1362,12 +1356,12 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public GraphTraversal 
visitTraversalMethod_property_Object_Object_Object(final 
GremlinParser.TraversalMethod_property_Object_Object_ObjectContext ctx) {
         if (ctx.getChildCount() == 6) {
-            return 
graphTraversal.property(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(0)),
-                    
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(1)));
+            return 
graphTraversal.property(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(0)),
+                    
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(1)));
         } else {
-            return 
graphTraversal.property(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(0)),
-                    
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument(1)),
-                    
antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+            return 
graphTraversal.property(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(0)),
+                    
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument(1)),
+                    
antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
         }
     }
 
@@ -1377,7 +1371,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public Traversal visitTraversalMethod_property_Cardinality_Object(final 
GremlinParser.TraversalMethod_property_Cardinality_ObjectContext  ctx) {
         return 
graphTraversal.property(TraversalEnumParser.parseTraversalEnumFromContext(Cardinality.class,
 ctx.traversalCardinality()),
-                
antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument()));
+                
antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument()));
     }
 
     /**
@@ -1385,7 +1379,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public Traversal visitTraversalMethod_property_Object(final 
GremlinParser.TraversalMethod_property_ObjectContext ctx) {
-        return 
graphTraversal.property(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument()));
+        return 
graphTraversal.property(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument()));
     }
 
     /**
@@ -1469,7 +1463,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
                 TraversalEnumParser.parseTraversalEnumFromContext(Pop.class, 
ctx.traversalPop()),
                 antlr.genericVisitor.parseString(ctx.stringLiteral(0)),
                 antlr.genericVisitor.parseString(ctx.stringLiteral(1)),
-                
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     @Override
@@ -1494,7 +1488,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     public GraphTraversal 
visitTraversalMethod_select_String_String_String(final 
GremlinParser.TraversalMethod_select_String_String_StringContext ctx) {
         return 
graphTraversal.select(antlr.genericVisitor.parseString(ctx.stringLiteral(0)),
                 antlr.genericVisitor.parseString(ctx.stringLiteral(1)),
-                
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     @Override
@@ -1625,7 +1619,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     public GraphTraversal visitTraversalMethod_toE(final 
GremlinParser.TraversalMethod_toEContext ctx) {
         return graphTraversal.toE(
                 
TraversalEnumParser.parseTraversalEnumFromContext(Direction.class, 
ctx.traversalDirection()),
-                
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -1643,7 +1637,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     public GraphTraversal visitTraversalMethod_to_Direction_String(final 
GremlinParser.TraversalMethod_to_Direction_StringContext ctx) {
         return graphTraversal.to(
                 
TraversalEnumParser.parseTraversalEnumFromContext(Direction.class, 
ctx.traversalDirection()),
-                
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -1724,7 +1718,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_valueMap_String(final 
GremlinParser.TraversalMethod_valueMap_StringContext ctx) {
-        return 
graphTraversal.valueMap(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.valueMap(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -1736,7 +1730,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
             return graphTraversal.valueMap((boolean) 
antlr.genericVisitor.visitBooleanLiteral(ctx.booleanLiteral()));
         } else {
             return graphTraversal.valueMap((boolean) 
antlr.genericVisitor.visitBooleanLiteral(ctx.booleanLiteral()),
-                    
antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+                    
antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
         }
     }
 
@@ -1745,7 +1739,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_values(final 
GremlinParser.TraversalMethod_valuesContext ctx) {
-        return 
graphTraversal.values(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.values(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
@@ -1828,7 +1822,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public Traversal visitTraversalMethod_call_string_map(final 
GremlinParser.TraversalMethod_call_string_mapContext ctx) {
         return 
graphTraversal.call(antlr.genericVisitor.parseString(ctx.stringLiteral()),
-                                   
antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument()));
+                                   
antlr.argumentVisitor.parseMap(ctx.genericMapArgument()));
     }
 
     /**
@@ -1846,7 +1840,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
     @Override
     public Traversal visitTraversalMethod_call_string_map_traversal(final 
GremlinParser.TraversalMethod_call_string_map_traversalContext ctx) {
         return 
graphTraversal.call(antlr.genericVisitor.parseString(ctx.stringLiteral()),
-                
antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument()),
+                antlr.argumentVisitor.parseMap(ctx.genericMapArgument()),
                 antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal()));
     }
 
@@ -1867,7 +1861,7 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
      */
     @Override
     public GraphTraversal visitTraversalMethod_concat_String(final 
GremlinParser.TraversalMethod_concat_StringContext ctx) {
-        return 
graphTraversal.concat(antlr.genericVisitor.parseStringVarargs(ctx.stringLiteralVarargs()));
+        return 
graphTraversal.concat(antlr.genericVisitor.parseStringVarargs(ctx.stringNullableLiteralVarargs()));
     }
 
     /**
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java
index d9f639e0d1..ca481c8638 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalPredicateVisitor.java
@@ -144,18 +144,15 @@ public class TraversalPredicateVisitor extends 
DefaultGremlinBaseVisitor<P> {
     @Override
     public P visitTraversalPredicate_within(final 
GremlinParser.TraversalPredicate_withinContext ctx) {
         // called with no args which is valid for java/groovy
-        if (null == ctx.genericLiteralListArgument()) return P.within();
+        if (null == ctx.genericArgumentVarargs()) return P.within();
 
-        final Object arguments = 
antlr.argumentVisitor.visitGenericLiteralListArgument(ctx.genericLiteralListArgument());
+        final Object[] arguments = 
antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs());
 
-        if (arguments instanceof Object[]) {
-            // when generic literal list is consist of a comma separated 
generic literals
-            return P.within((Object []) arguments);
-        } else if (arguments instanceof List || arguments instanceof Set) {
+        if (arguments.length == 1 && arguments[0] instanceof Collection) {
             // when generic literal list is consist of a collection of generic 
literals, E.g. range
-            return P.within((Collection) arguments);
+            return P.within((Collection) arguments[0]);
         } else {
-            // when generic literal list is consist of a single generic literal
+            // when generic literal list is consist of comma separated generic 
literals or a single generic literal
             return P.within(arguments);
         }
     }
@@ -166,18 +163,15 @@ public class TraversalPredicateVisitor extends 
DefaultGremlinBaseVisitor<P> {
     @Override
     public P visitTraversalPredicate_without(final 
GremlinParser.TraversalPredicate_withoutContext ctx) {
         // called with no args which is valid for java/groovy
-        if (null == ctx.genericLiteralListArgument()) return P.without();
+        if (null == ctx.genericArgumentVarargs()) return P.without();
 
-        final Object arguments = 
antlr.argumentVisitor.visitGenericLiteralListArgument(ctx.genericLiteralListArgument());
+        final Object[] arguments = 
antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs());
 
-        if (arguments instanceof Object[]) {
-            // when generic literal list is consist of a comma separated 
generic literals
-            return P.without((Object [])arguments);
-        } else if (arguments instanceof List) {
+        if (arguments.length == 1 && arguments[0] instanceof Collection) {
             // when generic literal list is consist of a collection of generic 
literals, E.g. range
-            return P.without((List)arguments);
+            return P.without((Collection) arguments[0]);
         } else {
-            // when generic literal list is consist of a single generic literal
+            // when generic literal list is consist of comma separated generic 
literals or a single generic literal
             return P.without(arguments);
         }
     }
@@ -238,9 +232,9 @@ public class TraversalPredicateVisitor extends 
DefaultGremlinBaseVisitor<P> {
         final int childIndexOfParameterFirst = ctx.getChildCount() == 8 ? 4 : 
2;
         final int childIndexOfParameterSecond = ctx.getChildCount() == 8 ? 6 : 
4;
 
-        final Object first = antlr.argumentVisitor.visitGenericLiteralArgument(
+        final Object first = antlr.argumentVisitor.visitGenericArgument(
                 ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, 
childIndexOfParameterFirst));
-        final Object second = 
antlr.argumentVisitor.visitGenericLiteralArgument(
+        final Object second = antlr.argumentVisitor.visitGenericArgument(
                 ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, 
childIndexOfParameterSecond));
 
         return new Object[]{first, second};
@@ -253,7 +247,7 @@ public class TraversalPredicateVisitor extends 
DefaultGremlinBaseVisitor<P> {
     private Object getSingleGenericLiteralArgument(final ParseTree ctx) {;
         final int childIndexOfParameterValue = ctx.getChildCount() == 6 ? 4 : 
2;
 
-        return antlr.argumentVisitor.visitGenericLiteralArgument(
+        return antlr.argumentVisitor.visitGenericArgument(
                 ParseTreeContextCastHelper.castChildToGenericLiteral(ctx, 
childIndexOfParameterValue));
     }
 }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java
index 34568da1f2..96cb97258d 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSelfMethodVisitor.java
@@ -75,9 +75,9 @@ public class TraversalSourceSelfMethodVisitor extends 
DefaultGremlinBaseVisitor<
     @Override
     public GraphTraversalSource visitTraversalSourceSelfMethod_withSack(final 
GremlinParser.TraversalSourceSelfMethod_withSackContext ctx) {
         if (ctx.getChildCount() == 4) {
-            return 
source.withSack(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+            return 
source.withSack(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
         } else {
-            return 
source.withSack(antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()),
+            return 
source.withSack(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()),
                     
TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, 
ctx.traversalBiFunction().traversalOperator()));
         }
     }
@@ -90,10 +90,10 @@ public class TraversalSourceSelfMethodVisitor extends 
DefaultGremlinBaseVisitor<
         if (ctx.getChildCount() < 8) {
             // with 4 children withSideEffect() was called without a reducer 
specified.
             return 
source.withSideEffect(antlr.argumentVisitor.parseString(ctx.stringArgument()),
-                    
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+                    
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
         } else {
             return 
source.withSideEffect(antlr.argumentVisitor.parseString(ctx.stringArgument()),
-                    
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()),
+                    
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()),
                     
TraversalEnumParser.parseTraversalEnumFromContext(Operator.class, 
ctx.traversalBiFunction().traversalOperator()));
         }
     }
@@ -109,7 +109,7 @@ public class TraversalSourceSelfMethodVisitor extends 
DefaultGremlinBaseVisitor<
             return 
source.withStrategies(traversalStrategyVisitor.visitTraversalStrategy((GremlinParser.TraversalStrategyContext)
 ctx.getChild(2)));
         } else {
             final Object[] vargs = 
GenericLiteralVisitor.parseTraversalStrategyList(
-                    (GremlinParser.TraversalStrategyListContext) 
ctx.getChild(4), traversalStrategyVisitor);
+                    (GremlinParser.TraversalStrategyVarargsContext) 
ctx.getChild(4), traversalStrategyVisitor);
             final List<TraversalStrategy> strats = new 
ArrayList<>(Arrays.asList(Arrays.copyOf(vargs, vargs.length, 
TraversalStrategy[].class)));
             strats.add(0, 
traversalStrategyVisitor.visitTraversalStrategy((GremlinParser.TraversalStrategyContext)
 ctx.getChild(2)));
             return source.withStrategies(strats.toArray(new 
TraversalStrategy[strats.size()]));
@@ -141,7 +141,7 @@ public class TraversalSourceSelfMethodVisitor extends 
DefaultGremlinBaseVisitor<
             return 
source.with(antlr.argumentVisitor.parseString(ctx.stringArgument()));
         } else {
             return 
source.with(antlr.argumentVisitor.parseString(ctx.stringArgument()),
-                    
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument()));
+                    
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
         }
     }
 }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java
index 22f8d1f769..e75685ee24 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalSourceSpawnMethodVisitor.java
@@ -84,7 +84,7 @@ public class TraversalSourceSpawnMethodVisitor extends 
DefaultGremlinBaseVisitor
      */
     @Override
     public GraphTraversal visitTraversalSourceSpawnMethod_E(final 
GremlinParser.TraversalSourceSpawnMethod_EContext ctx) {
-        return 
this.traversalSource.E(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
this.traversalSource.E(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -92,7 +92,7 @@ public class TraversalSourceSpawnMethodVisitor extends 
DefaultGremlinBaseVisitor
      */
     @Override
     public GraphTraversal visitTraversalSourceSpawnMethod_V(final 
GremlinParser.TraversalSourceSpawnMethod_VContext ctx) {
-        return 
this.traversalSource.V(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
this.traversalSource.V(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -100,7 +100,7 @@ public class TraversalSourceSpawnMethodVisitor extends 
DefaultGremlinBaseVisitor
      */
     @Override
     public GraphTraversal visitTraversalSourceSpawnMethod_inject(final 
GremlinParser.TraversalSourceSpawnMethod_injectContext ctx) {
-        return 
this.traversalSource.inject(antlr.genericVisitor.parseObjectVarargs(ctx.genericLiteralVarargs()));
+        return 
this.traversalSource.inject(antlr.argumentVisitor.parseObjectVarargs(ctx.genericArgumentVarargs()));
     }
 
     /**
@@ -119,7 +119,7 @@ public class TraversalSourceSpawnMethodVisitor extends 
DefaultGremlinBaseVisitor
      */
     @Override
     public GraphTraversal visitTraversalSourceSpawnMethod_mergeV_Map(final 
GremlinParser.TraversalSourceSpawnMethod_mergeV_MapContext ctx) {
-        return 
this.traversalSource.mergeV(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument()));
+        return 
this.traversalSource.mergeV(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument()));
     }
 
     /**
@@ -143,7 +143,7 @@ public class TraversalSourceSpawnMethodVisitor extends 
DefaultGremlinBaseVisitor
      */
     @Override
     public GraphTraversal visitTraversalSourceSpawnMethod_mergeE_Map(final 
GremlinParser.TraversalSourceSpawnMethod_mergeE_MapContext ctx) {
-        return 
this.traversalSource.mergeE(antlr.argumentVisitor.parseMap(ctx.genericLiteralMapNullableArgument()));
+        return 
this.traversalSource.mergeE(antlr.argumentVisitor.parseMap(ctx.genericMapNullableArgument()));
     }
 
     /**
@@ -168,7 +168,7 @@ public class TraversalSourceSpawnMethodVisitor extends 
DefaultGremlinBaseVisitor
     @Override
     public GraphTraversal 
visitTraversalSourceSpawnMethod_call_string_map(final 
GremlinParser.TraversalSourceSpawnMethod_call_string_mapContext ctx) {
         return 
this.traversalSource.call(antlr.argumentVisitor.parseString(ctx.stringArgument()),
-                
antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument()));
+                antlr.argumentVisitor.parseMap(ctx.genericMapArgument()));
     }
 
     /**
@@ -186,7 +186,7 @@ public class TraversalSourceSpawnMethodVisitor extends 
DefaultGremlinBaseVisitor
     @Override
     public GraphTraversal 
visitTraversalSourceSpawnMethod_call_string_map_traversal(final 
GremlinParser.TraversalSourceSpawnMethod_call_string_map_traversalContext ctx) {
         return 
this.traversalSource.call(antlr.argumentVisitor.parseString(ctx.stringArgument()),
-                
antlr.argumentVisitor.parseMap(ctx.genericLiteralMapArgument()),
+                antlr.argumentVisitor.parseMap(ctx.genericMapArgument()),
                 anonymousVisitor.visitNestedTraversal(ctx.nestedTraversal()));
     }
 
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java
index 1e0a8b9177..e0f4118242 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalStrategyVisitor.java
@@ -58,7 +58,7 @@ public class TraversalStrategyVisitor extends 
DefaultGremlinBaseVisitor<Traversa
         if (null != contexts) {
             for (GremlinParser.ConfigurationContext ctx : contexts) {
                 final String key = ctx.getChild(0).getText();
-                final Object val = 
antlr.argumentVisitor.visitGenericLiteralArgument(ctx.genericLiteralArgument());
+                final Object val = 
antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument());
                 conf.setProperty(key, val);
             }
         }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java
index 8537df8e32..9f9fcde97e 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/AnonymizedTranslatorVisitor.java
@@ -77,22 +77,22 @@ public class AnonymizedTranslatorVisitor extends 
TranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) {
+    public Void visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) {
         return anonymize(ctx, Set.class);
     }
 
     @Override
-    public Void visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
+    public Void visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         return anonymize(ctx, List.class);
     }
 
     @Override
-    public Void visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Void visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         return anonymize(ctx, Map.class);
     }
 
     @Override
-    public Void visitGenericLiteralMapNullableArgument(final 
GremlinParser.GenericLiteralMapNullableArgumentContext ctx) {
+    public Void visitGenericMapNullableArgument(final 
GremlinParser.GenericMapNullableArgumentContext ctx) {
         return anonymize(ctx, Map.class);
     }
 
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
index 08c5de23eb..85a2bd9e6b 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
@@ -166,12 +166,12 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) {
+    public Void visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) {
         throw new TranslatorException(".NET does not support range literals");
     }
 
     @Override
-    public Void visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Void visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         sb.append("new Dictionary<object, object> {");
         for (int i = 0; i < ctx.mapEntry().size(); i++) {
             final GremlinParser.MapEntryContext mapEntryContext = 
ctx.mapEntry(i);
@@ -184,7 +184,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) {
+    public Void visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) {
         sb.append("new HashSet<object> { ");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
@@ -197,7 +197,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
+    public Void visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         sb.append("new List<object> { ");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
@@ -209,20 +209,6 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         return null;
     }
 
-    @Override
-    public Void visitStringLiteralList(final 
GremlinParser.StringLiteralListContext ctx) {
-        sb.append("new List<string> { ");
-        for (int ix = 0; ix < ctx.getChild(1).getChildCount(); ix++) {
-            if (ctx.getChild(1).getChild(ix) instanceof TerminalNode)
-                continue;
-            visit(ctx.getChild(1).getChild(ix));
-            if (ix < ctx.getChild(1).getChildCount() - 1)
-                sb.append(", ");
-        }
-        sb.append(" }");
-        return null;
-    }
-
     @Override
     public Void visitMapEntry(final GremlinParser.MapEntryContext ctx) {
         sb.append("{ ");
@@ -330,7 +316,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.stringArgument());
         sb.append(", ");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapArgument());
+        visit(ctx.genericMapArgument());
         sb.append(")");
         return null;
     }
@@ -356,7 +342,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.stringArgument());
         sb.append(", ");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapArgument());
+        visit(ctx.genericMapArgument());
         sb.append(", ");
         sb.append("(ITraversal) ");
         visit(ctx.nestedTraversal());
@@ -370,7 +356,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.getChild(0));
         sb.append("(");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapNullableArgument());
+        visit(ctx.genericMapNullableArgument());
         sb.append(")");
         return null;
     }
@@ -392,7 +378,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.getChild(0));
         sb.append("(");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapNullableArgument());
+        visit(ctx.genericMapNullableArgument());
         sb.append(")");
         return null;
     }
@@ -441,7 +427,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.stringLiteral());
         sb.append(", ");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapArgument());
+        visit(ctx.genericMapArgument());
         sb.append(")");
         return null;
     }
@@ -467,7 +453,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.stringLiteral());
         sb.append(", ");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapArgument());
+        visit(ctx.genericMapArgument());
         sb.append(", ");
         sb.append("(ITraversal) ");
         visit(ctx.nestedTraversal());
@@ -562,8 +548,8 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         tryAppendCastToString(ctx.stringNullableLiteral());
         visit(ctx.stringNullableLiteral());
         sb.append(", ");
-        tryAppendCastToObject(ctx.genericLiteralArgument());
-        visit(ctx.genericLiteralArgument());
+        tryAppendCastToObject(ctx.genericArgument());
+        visit(ctx.genericArgument());
         sb.append(")");
         return null;
     }
@@ -592,8 +578,8 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         tryAppendCastToString(ctx.stringNullableLiteral());
         visit(ctx.stringNullableLiteral());
         sb.append(", ");
-        tryAppendCastToObject(ctx.genericLiteralArgument());
-        visit(ctx.genericLiteralArgument());
+        tryAppendCastToObject(ctx.genericArgument());
+        visit(ctx.genericArgument());
         sb.append(")");
         return null;
     }
@@ -634,8 +620,8 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         sb.append("(");
         visit(ctx.traversalT());
         sb.append(", ");
-        tryAppendCastToObject(ctx.genericLiteralArgument());
-        visit(ctx.genericLiteralArgument());
+        tryAppendCastToObject(ctx.genericArgument());
+        visit(ctx.genericArgument());
         sb.append(")");
         return null;
     }
@@ -677,7 +663,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
     @Override
     public Void visitTraversalMethod_hasKey_String_String(final 
GremlinParser.TraversalMethod_hasKey_String_StringContext ctx) {
         // if there is only one argument then cast to string otherwise it's 
ambiguous with hasKey(P)
-        if (ctx.stringLiteralVarargs() == null || 
ctx.stringLiteralVarargs().getChildCount() == 0) {
+        if (ctx.stringNullableLiteralVarargs() == null || 
ctx.stringNullableLiteralVarargs().getChildCount() == 0) {
             final String step = ctx.getChild(0).getText();
             sb.append(convertToPascalCase(step));
             sb.append("(");
@@ -693,12 +679,12 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
     @Override
     public Void visitTraversalMethod_hasValue_Object_Object(final 
GremlinParser.TraversalMethod_hasValue_Object_ObjectContext ctx) {
         // if there is only one argument then cast to object otherwise it's 
ambiguous with hasValue(P)
-        if (ctx.genericLiteralVarargs() == null || 
ctx.genericLiteralVarargs().getChildCount() == 0) {
+        if (ctx.genericArgumentVarargs() == null || 
ctx.genericArgumentVarargs().getChildCount() == 0) {
             final String step = ctx.getChild(0).getText();
             sb.append(convertToPascalCase(step));
             sb.append("(");
-            tryAppendCastToObject(ctx.genericLiteralArgument());
-            visit(ctx.genericLiteralArgument());
+            tryAppendCastToObject(ctx.genericArgument());
+            visit(ctx.genericArgument());
             sb.append(")");
             return null;
         } else {
@@ -729,7 +715,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
     @Override
     public Void visitTraversalMethod_hasLabel_String_String(final 
GremlinParser.TraversalMethod_hasLabel_String_StringContext ctx) {
         // if there is only one argument then cast to string otherwise it's 
ambiguous with hasLabel(P)
-        if (ctx.stringLiteralVarargsArgument() == null || 
ctx.stringLiteralVarargsArgument().getChildCount() == 0) {
+        if (ctx.stringNullableArgumentVarargs() == null || 
ctx.stringNullableArgumentVarargs().getChildCount() == 0) {
             final String step = ctx.getChild(0).getText();
             sb.append(convertToPascalCase(step));
             sb.append("(");
@@ -808,7 +794,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.getChild(0));
         sb.append("(");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapNullableArgument());
+        visit(ctx.genericMapNullableArgument());
         sb.append(")");
         return null;
     }
@@ -830,7 +816,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.getChild(0));
         sb.append("(");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapNullableArgument());
+        visit(ctx.genericMapNullableArgument());
         sb.append(")");
         return null;
     }
@@ -864,7 +850,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         visit(ctx.traversalMerge());
         sb.append(", ");
         sb.append("(IDictionary<object, object>) ");
-        visit(ctx.genericLiteralMapNullableArgument()); // second argument
+        visit(ctx.genericMapNullableArgument()); // second argument
         sb.append(")");
         return null;
     }
@@ -904,17 +890,17 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
 
     @Override
     public Void 
visitTraversalMethod_property_Cardinality_Object_Object_Object(final 
GremlinParser.TraversalMethod_property_Cardinality_Object_Object_ObjectContext 
ctx) {
-        if (ctx.genericLiteralVarargs() == null || 
ctx.genericLiteralVarargs().getChildCount() == 0) {
+        if (ctx.genericArgumentVarargs() == null || 
ctx.genericArgumentVarargs().getChildCount() == 0) {
             final String step = ctx.getChild(0).getText();
             sb.append(convertToPascalCase(step));
             sb.append("(");
             visit(ctx.traversalCardinality());
             sb.append(", ");
-            tryAppendCastToObject(ctx.genericLiteralArgument(0));
-            visit(ctx.genericLiteralArgument(0));
+            tryAppendCastToObject(ctx.genericArgument(0));
+            visit(ctx.genericArgument(0));
             sb.append(", ");
-            tryAppendCastToObject(ctx.genericLiteralArgument(1));
-            visit(ctx.genericLiteralArgument(1));
+            tryAppendCastToObject(ctx.genericArgument(1));
+            visit(ctx.genericArgument(1));
             sb.append(")");
             return null;
         } else {
@@ -1154,7 +1140,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
         }
     }
 
-    private void tryAppendCastToObject(final 
GremlinParser.GenericLiteralArgumentContext ctx) {
+    private void tryAppendCastToObject(final 
GremlinParser.GenericArgumentContext ctx) {
         if (ctx.variable() != null || ctx.genericLiteral().nullLiteral() != 
null)
             sb.append("(object) ");
     }
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 8b75a30182..abf5ff6ddb 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
@@ -116,12 +116,12 @@ public class GoTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) {
+    public Void visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) {
         throw new TranslatorException("Go does not support range literals");
     }
 
     @Override
-    public Void visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) {
+    public Void visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) {
         sb.append(GO_PACKAGE_NAME);
         sb.append("NewSimpleSet(");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
@@ -135,7 +135,7 @@ public class GoTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
+    public Void visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         sb.append("[]interface{}{");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
@@ -148,7 +148,7 @@ public class GoTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Void visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         sb.append("map[interface{}]interface{}{");
         for (int i = 0; i < ctx.mapEntry().size(); i++) {
             final GremlinParser.MapEntryContext mapEntryContext = 
ctx.mapEntry(i);
@@ -200,7 +200,7 @@ public class GoTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
+    public Void visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
         sb.append(GO_PACKAGE_NAME).append("Vertex{Element{");
         visit(ctx.getChild(3)); // id
         sb.append(", ");
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java
index f2c51a8a61..ccf1402706 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GroovyTranslateVisitor.java
@@ -46,7 +46,7 @@ public class GroovyTranslateVisitor extends TranslateVisitor {
     }
 
     @Override
-    public Void visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
+    public Void visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
         sb.append("new ");
         sb.append(vertexClassName);
         sb.append("(");
@@ -129,7 +129,7 @@ public class GroovyTranslateVisitor extends 
TranslateVisitor {
 
     @Override
     public Void visitNullLiteral(final GremlinParser.NullLiteralContext ctx) {
-        if (ctx.getParent() instanceof 
GremlinParser.GenericLiteralMapNullableArgumentContext) {
+        if (ctx.getParent() instanceof 
GremlinParser.GenericMapNullableArgumentContext) {
             sb.append("null as Map");
             return null;
         }
@@ -139,7 +139,7 @@ public class GroovyTranslateVisitor extends 
TranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralSet(GremlinParser.GenericLiteralSetContext 
ctx) {
+    public Void visitGenericSetLiteral(GremlinParser.GenericSetLiteralContext 
ctx) {
         sb.append("[");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
index 26b9b70efc..6e256e5bbf 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
@@ -53,7 +53,7 @@ public class JavaTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
+    public Void visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
         sb.append("new ");
         sb.append(vertexClassName);
         sb.append("(");
@@ -119,7 +119,7 @@ public class JavaTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Void visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         sb.append("new LinkedHashMap<Object, Object>() {{ ");
         for (int i = 0; i < ctx.mapEntry().size(); i++) {
             final GremlinParser.MapEntryContext mapEntryContext = 
ctx.mapEntry(i);
@@ -247,12 +247,12 @@ public class JavaTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) {
+    public Void visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) {
         throw new TranslatorException("Java does not support range literals");
     }
 
     @Override
-    public Void visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) {
+    public Void visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) {
         sb.append("new HashSet<Object>() {{ ");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
@@ -267,7 +267,7 @@ public class JavaTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
+    public Void visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         sb.append("new ArrayList<Object>() {{ ");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
@@ -280,20 +280,4 @@ public class JavaTranslateVisitor extends 
AbstractTranslateVisitor {
         sb.append(" }}");
         return null;
     }
-
-    @Override
-    public Void visitStringLiteralList(final 
GremlinParser.StringLiteralListContext ctx) {
-        sb.append("new ArrayList<String>() {{ ");
-        for (int ix = 0; ix < ctx.getChild(1).getChildCount(); ix++) {
-            if (ctx.getChild(1).getChild(ix) instanceof TerminalNode)
-                continue;
-            sb.append("add(");
-            visit(ctx.getChild(1).getChild(ix));
-            sb.append(");");
-            if (ix < ctx.getChild(1).getChildCount() - 1)
-                sb.append(" ");
-        }
-        sb.append(" }}");
-        return null;
-    }
 }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java
index e247e5e749..a6aaee45c6 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavascriptTranslateVisitor.java
@@ -54,7 +54,7 @@ public class JavascriptTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
+    public Void visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
         sb.append("new Vertex(");
         visit(ctx.getChild(3)); // id
         sb.append(", ");
@@ -98,7 +98,7 @@ public class JavascriptTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Void visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         sb.append("new Map([");
         for (int i = 0; i < ctx.mapEntry().size(); i++) {
             final GremlinParser.MapEntryContext mapEntryContext = 
ctx.mapEntry(i);
@@ -193,12 +193,12 @@ public class JavascriptTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) {
+    public Void visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) {
         throw new TranslatorException("Javascript does not support range 
literals");
     }
 
     @Override
-    public Void visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) {
+    public Void visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) {
         sb.append("new Set([");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
@@ -211,7 +211,7 @@ public class JavascriptTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
+    public Void visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         sb.append("[");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java
index 4cf0eb8a61..75c1affbcd 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/PythonTranslateVisitor.java
@@ -62,7 +62,7 @@ public class PythonTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
+    public Void visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
         sb.append("Vertex(");
         visit(ctx.getChild(3)); // id
         sb.append(", ");
@@ -126,7 +126,7 @@ public class PythonTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Void visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         sb.append("{ ");
         for (int i = 0; i < ctx.mapEntry().size(); i++) {
             final GremlinParser.MapEntryContext mapEntryContext = 
ctx.mapEntry(i);
@@ -270,12 +270,12 @@ public class PythonTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) {
+    public Void visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) {
         throw new TranslatorException("Python does not support range 
literals");
     }
 
     @Override
-    public Void visitGenericLiteralSet(final 
GremlinParser.GenericLiteralSetContext ctx) {
+    public Void visitGenericSetLiteral(final 
GremlinParser.GenericSetLiteralContext ctx) {
         sb.append("{");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
@@ -288,7 +288,7 @@ public class PythonTranslateVisitor extends 
AbstractTranslateVisitor {
     }
 
     @Override
-    public Void visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
+    public Void visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         sb.append("[");
         for (int i = 0; i < ctx.genericLiteral().size(); i++) {
             final GremlinParser.GenericLiteralContext genericLiteralContext = 
ctx.genericLiteral(i);
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java
index 19051670d3..d2fb5d02d6 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/TranslateVisitor.java
@@ -1476,7 +1476,7 @@ public class TranslateVisitor extends 
AbstractParseTreeVisitor<Void> implements
     }
 
     @Override
-    public Void visitStructureVertex(final 
GremlinParser.StructureVertexContext ctx) {
+    public Void visitStructureVertexLiteral(final 
GremlinParser.StructureVertexLiteralContext ctx) {
         return visitChildren(ctx);
     }
 
@@ -1644,8 +1644,8 @@ public class TranslateVisitor extends 
AbstractParseTreeVisitor<Void> implements
         appendStepOpen();
 
         final List<ParseTree> list =  ctx.children.stream().filter(
-                t -> t instanceof GremlinParser.GenericLiteralArgumentContext 
||
-                              t instanceof 
GremlinParser.GenericLiteralListArgumentContext ||
+                t -> t instanceof GremlinParser.GenericArgumentContext ||
+                              t instanceof 
GremlinParser.GenericArgumentVarargsContext ||
                               t instanceof GremlinParser.StringArgumentContext 
||
                               t instanceof 
GremlinParser.TraversalPredicateContext).collect(Collectors.toList());
         for (int ix = 0; ix < list.size(); ix++) {
@@ -2055,7 +2055,7 @@ public class TranslateVisitor extends 
AbstractParseTreeVisitor<Void> implements
     }
 
     @Override
-    public Void visitGenericLiteralArgument(final 
GremlinParser.GenericLiteralArgumentContext ctx) {
+    public Void visitGenericArgument(final 
GremlinParser.GenericArgumentContext ctx) {
         if (ctx.genericLiteral() != null)
             visitGenericLiteral(ctx.genericLiteral());
         else
@@ -2065,22 +2065,22 @@ public class TranslateVisitor extends 
AbstractParseTreeVisitor<Void> implements
     }
 
     @Override
-    public Void visitGenericLiteralListArgument(final 
GremlinParser.GenericLiteralListArgumentContext ctx) {
+    public Void visitGenericArgumentVarargs(final 
GremlinParser.GenericArgumentVarargsContext ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitGenericLiteralMapArgument(final 
GremlinParser.GenericLiteralMapArgumentContext ctx) {
+    public Void visitGenericMapArgument(final 
GremlinParser.GenericMapArgumentContext ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitGenericLiteralMapNullableArgument(final 
GremlinParser.GenericLiteralMapNullableArgumentContext ctx) {
+    public Void visitGenericMapNullableArgument(final 
GremlinParser.GenericMapNullableArgumentContext ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitTraversalStrategyList(final 
GremlinParser.TraversalStrategyListContext ctx) {
+    public Void visitTraversalStrategyVarargs(final 
GremlinParser.TraversalStrategyVarargsContext ctx) {
         return visitChildren(ctx);
     }
 
@@ -2104,43 +2104,28 @@ public class TranslateVisitor extends 
AbstractParseTreeVisitor<Void> implements
         return visitChildren(ctx);
     }
 
-    @Override
-    public Void visitGenericLiteralList(final 
GremlinParser.GenericLiteralListContext ctx) {
-        return visitChildren(ctx);
-    }
-
     @Override
     public Void visitGenericLiteralExpr(final 
GremlinParser.GenericLiteralExprContext ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitGenericLiteralRange(final 
GremlinParser.GenericLiteralRangeContext ctx) {
-        return visitChildren(ctx);
-    }
-
-    @Override
-    public Void visitGenericLiteralCollection(final 
GremlinParser.GenericLiteralCollectionContext ctx) {
-        return visitChildren(ctx);
-    }
-
-    @Override
-    public Void visitGenericLiteralSet(GremlinParser.GenericLiteralSetContext 
ctx) {
+    public Void visitGenericRangeLiteral(final 
GremlinParser.GenericRangeLiteralContext ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitStringLiteralVarargs(final 
GremlinParser.StringLiteralVarargsContext ctx) {
+    public Void visitGenericCollectionLiteral(final 
GremlinParser.GenericCollectionLiteralContext ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitStringLiteralList(final 
GremlinParser.StringLiteralListContext ctx) {
+    public Void visitGenericSetLiteral(GremlinParser.GenericSetLiteralContext 
ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitStringLiteralExpr(final 
GremlinParser.StringLiteralExprContext ctx) {
+    public Void visitStringNullableLiteralVarargs(final 
GremlinParser.StringNullableLiteralVarargsContext ctx) {
         return visitChildren(ctx);
     }
 
@@ -2150,7 +2135,7 @@ public class TranslateVisitor extends 
AbstractParseTreeVisitor<Void> implements
     }
 
     @Override
-    public Void visitGenericLiteralMap(final 
GremlinParser.GenericLiteralMapContext ctx) {
+    public Void visitGenericMapLiteral(final 
GremlinParser.GenericMapLiteralContext ctx) {
         return visitChildren(ctx);
     }
 
@@ -2323,12 +2308,12 @@ public class TranslateVisitor extends 
AbstractParseTreeVisitor<Void> implements
     }
 
     @Override
-    public Void visitGenericLiteralMapNullable(final 
GremlinParser.GenericLiteralMapNullableContext ctx) {
+    public Void visitGenericMapNullableLiteral(final 
GremlinParser.GenericMapNullableLiteralContext ctx) {
         return visitChildren(ctx);
     }
 
     @Override
-    public Void visitStringLiteralVarargsArgument(final 
GremlinParser.StringLiteralVarargsArgumentContext ctx) {
+    public Void visitStringNullableArgumentVarargs(final 
GremlinParser.StringNullableArgumentVarargsContext ctx) {
         return visitChildren(ctx);
     }
 
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java
index 09f211ea81..46d67961cb 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/ArgumentVisitorTest.java
@@ -149,12 +149,12 @@ public class ArgumentVisitorTest {
             });
         } else if (clazz.equals(Object.class)) {
             assertParsing(() -> {
-                final GremlinParser.GenericLiteralArgumentContext ctx = 
parser.genericLiteralArgument();
+                final GremlinParser.GenericArgumentContext ctx = 
parser.genericArgument();
                 return antlrToLanguage.argumentVisitor.parseObject(ctx);
             });
         } else if (clazz.equals(List.class)) {
             assertParsing(() -> {
-                final GremlinParser.GenericLiteralListArgumentContext ctx = 
parser.genericLiteralListArgument();
+                final GremlinParser.GenericArgumentVarargsContext ctx = 
parser.genericArgumentVarargs();
                 return antlrToLanguage.argumentVisitor.parseObjectVarargs(ctx);
             });
         } else if (clazz.equals(Vertex.class)) {
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java
index 0f00b5e582..2409663e47 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/grammar/GeneralLiteralVisitorTest.java
@@ -63,8 +63,8 @@ public class GeneralLiteralVisitorTest {
     static Object parseGenericLiteralRange(final String query) {
         final GremlinLexer lexer = new 
GremlinLexer(CharStreams.fromString(query));
         final GremlinParser parser = new GremlinParser(new 
CommonTokenStream(lexer));
-        final GremlinParser.GenericLiteralRangeContext ctx = 
parser.genericLiteralRange();
-        return new GenericLiteralVisitor(new 
GremlinAntlrToJava()).visitGenericLiteralRange(ctx);
+        final GremlinParser.GenericRangeLiteralContext ctx = 
parser.genericRangeLiteral();
+        return new GenericLiteralVisitor(new 
GremlinAntlrToJava()).visitGenericRangeLiteral(ctx);
     }
 
     @RunWith(Parameterized.class)
diff --git a/gremlin-language/src/main/antlr4/Gremlin.g4 
b/gremlin-language/src/main/antlr4/Gremlin.g4
index bb56af0785..d53c94ee42 100644
--- a/gremlin-language/src/main/antlr4/Gremlin.g4
+++ b/gremlin-language/src/main/antlr4/Gremlin.g4
@@ -75,17 +75,17 @@ traversalSourceSelfMethod_withPath
     ;
 
 traversalSourceSelfMethod_withSack
-    : K_WITHSACK LPAREN genericLiteralArgument RPAREN
-    | K_WITHSACK LPAREN genericLiteralArgument COMMA traversalBiFunction RPAREN
+    : K_WITHSACK LPAREN genericArgument RPAREN
+    | K_WITHSACK LPAREN genericArgument COMMA traversalBiFunction RPAREN
     ;
 
 traversalSourceSelfMethod_withSideEffect
-    : K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericLiteralArgument 
RPAREN
-    | K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericLiteralArgument 
COMMA traversalBiFunction RPAREN
+    : K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericArgument RPAREN
+    | K_WITHSIDEEFFECT LPAREN stringArgument COMMA genericArgument COMMA 
traversalBiFunction RPAREN
     ;
 
 traversalSourceSelfMethod_withStrategies
-    : K_WITHSTRATEGIES LPAREN traversalStrategy (COMMA traversalStrategyList)? 
RPAREN
+    : K_WITHSTRATEGIES LPAREN traversalStrategy (COMMA 
traversalStrategyVarargs)? RPAREN
     ;
 
 traversalSourceSelfMethod_withoutStrategies
@@ -94,7 +94,7 @@ traversalSourceSelfMethod_withoutStrategies
 
 traversalSourceSelfMethod_with
     : K_WITH LPAREN stringArgument RPAREN
-    | K_WITH LPAREN stringArgument COMMA genericLiteralArgument RPAREN
+    | K_WITH LPAREN stringArgument COMMA genericArgument RPAREN
     ;
 
 traversalSourceSpawnMethod
@@ -122,15 +122,15 @@ traversalSourceSpawnMethod_addV
     ;
 
 traversalSourceSpawnMethod_E
-    : K_E LPAREN genericLiteralVarargs RPAREN
+    : K_E LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalSourceSpawnMethod_V
-    : K_V LPAREN genericLiteralVarargs RPAREN
+    : K_V LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalSourceSpawnMethod_inject
-    : K_INJECT LPAREN genericLiteralVarargs RPAREN
+    : K_INJECT LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalSourceSpawnMethod_io
@@ -138,21 +138,21 @@ traversalSourceSpawnMethod_io
     ;
 
 traversalSourceSpawnMethod_mergeV
-    : K_MERGEV LPAREN genericLiteralMapNullableArgument RPAREN 
#traversalSourceSpawnMethod_mergeV_Map
+    : K_MERGEV LPAREN genericMapNullableArgument RPAREN 
#traversalSourceSpawnMethod_mergeV_Map
     | K_MERGEV LPAREN nestedTraversal RPAREN 
#traversalSourceSpawnMethod_mergeV_Traversal
     ;
 
 traversalSourceSpawnMethod_mergeE
-    : K_MERGEE LPAREN genericLiteralMapNullableArgument RPAREN 
#traversalSourceSpawnMethod_mergeE_Map
+    : K_MERGEE LPAREN genericMapNullableArgument RPAREN 
#traversalSourceSpawnMethod_mergeE_Map
     | K_MERGEE LPAREN nestedTraversal RPAREN 
#traversalSourceSpawnMethod_mergeE_Traversal
     ;
 
 traversalSourceSpawnMethod_call
     : K_CALL LPAREN RPAREN #traversalSourceSpawnMethod_call_empty
     | K_CALL LPAREN stringArgument RPAREN 
#traversalSourceSpawnMethod_call_string
-    | K_CALL LPAREN stringArgument COMMA genericLiteralMapArgument RPAREN 
#traversalSourceSpawnMethod_call_string_map
+    | K_CALL LPAREN stringArgument COMMA genericMapArgument RPAREN 
#traversalSourceSpawnMethod_call_string_map
     | K_CALL LPAREN stringArgument COMMA nestedTraversal RPAREN 
#traversalSourceSpawnMethod_call_string_traversal
-    | K_CALL LPAREN stringArgument COMMA genericLiteralMapArgument COMMA 
nestedTraversal RPAREN #traversalSourceSpawnMethod_call_string_map_traversal
+    | K_CALL LPAREN stringArgument COMMA genericMapArgument COMMA 
nestedTraversal RPAREN #traversalSourceSpawnMethod_call_string_map_traversal
     ;
 
 traversalSourceSpawnMethod_union
@@ -310,11 +310,11 @@ traversalMethod
     ;
 
 traversalMethod_V
-    : K_V LPAREN genericLiteralVarargs RPAREN
+    : K_V LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalMethod_E
-    : K_E LPAREN genericLiteralVarargs RPAREN
+    : K_E LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalMethod_addE
@@ -346,7 +346,7 @@ traversalMethod_any
     ;
 
 traversalMethod_as
-    : K_AS LPAREN stringLiteral (COMMA stringLiteralVarargs)? RPAREN
+    : K_AS LPAREN stringLiteral (COMMA stringNullableLiteralVarargs)? RPAREN
     ;
 
 traversalMethod_asDate
@@ -365,11 +365,11 @@ traversalMethod_barrier
     ;
 
 traversalMethod_both
-    : K_BOTH LPAREN stringLiteralVarargsArgument RPAREN
+    : K_BOTH LPAREN stringNullableArgumentVarargs RPAREN
     ;
 
 traversalMethod_bothE
-    : K_BOTHE LPAREN stringLiteralVarargsArgument RPAREN
+    : K_BOTHE LPAREN stringNullableArgumentVarargs RPAREN
     ;
 
 traversalMethod_bothV
@@ -395,13 +395,13 @@ traversalMethod_by
 
 traversalMethod_call
     : K_CALL LPAREN stringLiteral RPAREN #traversalMethod_call_string
-    | K_CALL LPAREN stringLiteral COMMA genericLiteralMapArgument RPAREN 
#traversalMethod_call_string_map
+    | K_CALL LPAREN stringLiteral COMMA genericMapArgument RPAREN 
#traversalMethod_call_string_map
     | K_CALL LPAREN stringLiteral COMMA nestedTraversal RPAREN 
#traversalMethod_call_string_traversal
-    | K_CALL LPAREN stringLiteral COMMA genericLiteralMapArgument COMMA 
nestedTraversal RPAREN #traversalMethod_call_string_map_traversal
+    | K_CALL LPAREN stringLiteral COMMA genericMapArgument COMMA 
nestedTraversal RPAREN #traversalMethod_call_string_map_traversal
     ;
 
 traversalMethod_cap
-    : K_CAP LPAREN stringLiteral (COMMA stringLiteralVarargs)? RPAREN
+    : K_CAP LPAREN stringLiteral (COMMA stringNullableLiteralVarargs)? RPAREN
     ;
 
 traversalMethod_choose
@@ -422,12 +422,12 @@ traversalMethod_coin
     ;
 
 traversalMethod_combine
-    : K_COMBINE LPAREN genericLiteralArgument RPAREN 
#traversalMethod_combine_Object
+    : K_COMBINE LPAREN genericArgument RPAREN #traversalMethod_combine_Object
     ;
 
 traversalMethod_concat
     : K_CONCAT LPAREN nestedTraversal (COMMA nestedTraversalList)? RPAREN 
#traversalMethod_concat_Traversal_Traversal
-    | K_CONCAT LPAREN stringLiteralVarargs RPAREN 
#traversalMethod_concat_String
+    | K_CONCAT LPAREN stringNullableLiteralVarargs RPAREN 
#traversalMethod_concat_String
     ;
 
 traversalMethod_conjoin
@@ -439,7 +439,7 @@ traversalMethod_connectedComponent
     ;
 
 traversalMethod_constant
-    : K_CONSTANT LPAREN genericLiteralArgument RPAREN
+    : K_CONSTANT LPAREN genericArgument RPAREN
     ;
 
 traversalMethod_count
@@ -461,16 +461,16 @@ traversalMethod_dateDiff
     ;
 
 traversalMethod_dedup
-    : K_DEDUP LPAREN traversalScope (COMMA stringLiteralVarargs)? RPAREN 
#traversalMethod_dedup_Scope_String
-    | K_DEDUP LPAREN stringLiteralVarargs RPAREN #traversalMethod_dedup_String
+    : K_DEDUP LPAREN traversalScope (COMMA stringNullableLiteralVarargs)? 
RPAREN #traversalMethod_dedup_Scope_String
+    | K_DEDUP LPAREN stringNullableLiteralVarargs RPAREN 
#traversalMethod_dedup_String
     ;
 
 traversalMethod_difference
-    : K_DIFFERENCE LPAREN genericLiteralArgument RPAREN 
#traversalMethod_difference_Object
+    : K_DIFFERENCE LPAREN genericArgument RPAREN 
#traversalMethod_difference_Object
     ;
 
 traversalMethod_disjunct
-    : K_DISJUNCT LPAREN genericLiteralArgument RPAREN 
#traversalMethod_disjunct_Object
+    : K_DISJUNCT LPAREN genericArgument RPAREN #traversalMethod_disjunct_Object
     ;
 
 traversalMethod_drop
@@ -482,7 +482,7 @@ traversalMethod_element
     ;
 
 traversalMethod_elementMap
-    : K_ELEMENTMAP LPAREN stringLiteralVarargs RPAREN
+    : K_ELEMENTMAP LPAREN stringNullableLiteralVarargs RPAREN
     ;
 
 traversalMethod_emit
@@ -507,7 +507,7 @@ traversalMethod_flatMap
 
 traversalMethod_fold
     : K_FOLD LPAREN RPAREN #traversalMethod_fold_Empty
-    | K_FOLD LPAREN genericLiteralArgument COMMA traversalBiFunction RPAREN 
#traversalMethod_fold_Object_BiFunction
+    | K_FOLD LPAREN genericArgument COMMA traversalBiFunction RPAREN 
#traversalMethod_fold_Object_BiFunction
     ;
 
 traversalMethod_format
@@ -532,29 +532,29 @@ traversalMethod_groupCount
 
 traversalMethod_has
     : K_HAS LPAREN stringNullableLiteral RPAREN #traversalMethod_has_String
-    | K_HAS LPAREN stringNullableLiteral COMMA genericLiteralArgument RPAREN 
#traversalMethod_has_String_Object
+    | K_HAS LPAREN stringNullableLiteral COMMA genericArgument RPAREN 
#traversalMethod_has_String_Object
     | K_HAS LPAREN stringNullableLiteral COMMA traversalPredicate RPAREN 
#traversalMethod_has_String_P
-    | K_HAS LPAREN stringNullableArgument COMMA stringNullableLiteral COMMA 
genericLiteralArgument RPAREN #traversalMethod_has_String_String_Object
+    | K_HAS LPAREN stringNullableArgument COMMA stringNullableLiteral COMMA 
genericArgument RPAREN #traversalMethod_has_String_String_Object
     | K_HAS LPAREN stringNullableArgument COMMA stringNullableLiteral COMMA 
traversalPredicate RPAREN #traversalMethod_has_String_String_P
     | K_HAS LPAREN stringNullableLiteral COMMA nestedTraversal RPAREN 
#traversalMethod_has_String_Traversal
-    | K_HAS LPAREN traversalT COMMA genericLiteralArgument RPAREN 
#traversalMethod_has_T_Object
+    | K_HAS LPAREN traversalT COMMA genericArgument RPAREN 
#traversalMethod_has_T_Object
     | K_HAS LPAREN traversalT COMMA traversalPredicate RPAREN 
#traversalMethod_has_T_P
     | K_HAS LPAREN traversalT COMMA nestedTraversal RPAREN 
#traversalMethod_has_T_Traversal
     ;
 
 traversalMethod_hasId
-    : K_HASID LPAREN genericLiteralArgument (COMMA genericLiteralVarargs)? 
RPAREN #traversalMethod_hasId_Object_Object
+    : K_HASID LPAREN genericArgument (COMMA genericArgumentVarargs)? RPAREN 
#traversalMethod_hasId_Object_Object
     | K_HASID LPAREN traversalPredicate RPAREN #traversalMethod_hasId_P
     ;
 
 traversalMethod_hasKey
     : K_HASKEY LPAREN traversalPredicate RPAREN #traversalMethod_hasKey_P
-    | K_HASKEY LPAREN stringNullableLiteral (COMMA stringLiteralVarargs)? 
RPAREN #traversalMethod_hasKey_String_String
+    | K_HASKEY LPAREN stringNullableLiteral (COMMA 
stringNullableLiteralVarargs)? RPAREN #traversalMethod_hasKey_String_String
     ;
 
 traversalMethod_hasLabel
     : K_HASLABEL LPAREN traversalPredicate RPAREN #traversalMethod_hasLabel_P
-    | K_HASLABEL LPAREN stringNullableArgument (COMMA 
stringLiteralVarargsArgument)? RPAREN #traversalMethod_hasLabel_String_String
+    | K_HASLABEL LPAREN stringNullableArgument (COMMA 
stringNullableArgumentVarargs)? RPAREN #traversalMethod_hasLabel_String_String
     ;
 
 traversalMethod_hasNot
@@ -562,7 +562,7 @@ traversalMethod_hasNot
     ;
 
 traversalMethod_hasValue
-    : K_HASVALUE LPAREN genericLiteralArgument (COMMA genericLiteralVarargs)? 
RPAREN #traversalMethod_hasValue_Object_Object
+    : K_HASVALUE LPAREN genericArgument (COMMA genericArgumentVarargs)? RPAREN 
#traversalMethod_hasValue_Object_Object
     | K_HASVALUE LPAREN traversalPredicate RPAREN #traversalMethod_hasValue_P
     ;
 
@@ -575,15 +575,15 @@ traversalMethod_identity
     ;
 
 traversalMethod_in
-    : K_IN LPAREN stringLiteralVarargs RPAREN
+    : K_IN LPAREN stringNullableLiteralVarargs RPAREN
     ;
 
 traversalMethod_inE
-    : K_INE LPAREN stringLiteralVarargs RPAREN
+    : K_INE LPAREN stringNullableLiteralVarargs RPAREN
     ;
 
 traversalMethod_intersect
-    : K_INTERSECT LPAREN genericLiteralArgument RPAREN 
#traversalMethod_intersect_Object
+    : K_INTERSECT LPAREN genericArgument RPAREN 
#traversalMethod_intersect_Object
     ;
 
 traversalMethod_inV
@@ -595,11 +595,11 @@ traversalMethod_index
     ;
 
 traversalMethod_inject
-    : K_INJECT LPAREN genericLiteralVarargs RPAREN
+    : K_INJECT LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalMethod_is
-    : K_IS LPAREN genericLiteralArgument RPAREN #traversalMethod_is_Object
+    : K_IS LPAREN genericArgument RPAREN #traversalMethod_is_Object
     | K_IS LPAREN traversalPredicate RPAREN #traversalMethod_is_P
     ;
 
@@ -658,18 +658,18 @@ traversalMethod_mean
     ;
 
 traversalMethod_merge
-    : K_MERGE LPAREN genericLiteralArgument RPAREN 
#traversalMethod_merge_Object
+    : K_MERGE LPAREN genericArgument RPAREN #traversalMethod_merge_Object
     ;
 
 traversalMethod_mergeV
     : K_MERGEV LPAREN RPAREN #traversalMethod_mergeV_empty
-    | K_MERGEV LPAREN genericLiteralMapNullableArgument RPAREN 
#traversalMethod_mergeV_Map
+    | K_MERGEV LPAREN genericMapNullableArgument RPAREN 
#traversalMethod_mergeV_Map
     | K_MERGEV LPAREN nestedTraversal RPAREN #traversalMethod_mergeV_Traversal
     ;
 
 traversalMethod_mergeE
     : K_MERGEE LPAREN RPAREN #traversalMethod_mergeE_empty
-    | K_MERGEE LPAREN genericLiteralMapNullableArgument RPAREN 
#traversalMethod_mergeE_Map
+    | K_MERGEE LPAREN genericMapNullableArgument RPAREN 
#traversalMethod_mergeE_Map
     | K_MERGEE LPAREN nestedTraversal RPAREN #traversalMethod_mergeE_Traversal
     ;
 
@@ -688,10 +688,10 @@ traversalMethod_not
 
 traversalMethod_option
     : K_OPTION LPAREN traversalPredicate COMMA nestedTraversal RPAREN 
#traversalMethod_option_Predicate_Traversal
-    | K_OPTION LPAREN traversalMerge COMMA genericLiteralMapNullableArgument 
RPAREN #traversalMethod_option_Merge_Map
-    | K_OPTION LPAREN traversalMerge COMMA genericLiteralMapNullableArgument 
COMMA traversalCardinality RPAREN #traversalMethod_option_Merge_Map_Cardinality
+    | K_OPTION LPAREN traversalMerge COMMA genericMapNullableArgument RPAREN 
#traversalMethod_option_Merge_Map
+    | K_OPTION LPAREN traversalMerge COMMA genericMapNullableArgument COMMA 
traversalCardinality RPAREN #traversalMethod_option_Merge_Map_Cardinality
     | K_OPTION LPAREN traversalMerge COMMA nestedTraversal RPAREN 
#traversalMethod_option_Merge_Traversal
-    | K_OPTION LPAREN genericLiteralArgument COMMA nestedTraversal RPAREN 
#traversalMethod_option_Object_Traversal
+    | K_OPTION LPAREN genericArgument COMMA nestedTraversal RPAREN 
#traversalMethod_option_Object_Traversal
     | K_OPTION LPAREN nestedTraversal RPAREN #traversalMethod_option_Traversal
     ;
 
@@ -713,11 +713,11 @@ traversalMethod_otherV
     ;
 
 traversalMethod_out
-    : K_OUT LPAREN stringLiteralVarargsArgument RPAREN
+    : K_OUT LPAREN stringNullableArgumentVarargs RPAREN
     ;
 
 traversalMethod_outE
-    : K_OUTE LPAREN stringLiteralVarargsArgument RPAREN
+    : K_OUTE LPAREN stringNullableArgumentVarargs RPAREN
     ;
 
 traversalMethod_outV
@@ -738,7 +738,7 @@ traversalMethod_peerPressure
     ;
 
 traversalMethod_product
-    : K_PRODUCT LPAREN genericLiteralArgument RPAREN 
#traversalMethod_product_Object
+    : K_PRODUCT LPAREN genericArgument RPAREN #traversalMethod_product_Object
     ;
 
 traversalMethod_profile
@@ -747,22 +747,22 @@ traversalMethod_profile
     ;
 
 traversalMethod_project
-    : K_PROJECT LPAREN stringLiteral (COMMA stringLiteralVarargs)? RPAREN
+    : K_PROJECT LPAREN stringLiteral (COMMA stringNullableLiteralVarargs)? 
RPAREN
     ;
 
 traversalMethod_properties
-    : K_PROPERTIES LPAREN stringLiteralVarargs RPAREN
+    : K_PROPERTIES LPAREN stringNullableLiteralVarargs RPAREN
     ;
 
 traversalMethod_property
-    : K_PROPERTY LPAREN traversalCardinality COMMA genericLiteralArgument 
COMMA genericLiteralArgument (COMMA genericLiteralVarargs)? RPAREN 
#traversalMethod_property_Cardinality_Object_Object_Object
-    | K_PROPERTY LPAREN traversalCardinality COMMA 
genericLiteralMapNullableArgument RPAREN # 
traversalMethod_property_Cardinality_Object
-    | K_PROPERTY LPAREN genericLiteralArgument COMMA genericLiteralArgument 
(COMMA genericLiteralVarargs)? RPAREN 
#traversalMethod_property_Object_Object_Object
-    | K_PROPERTY LPAREN genericLiteralMapNullableArgument RPAREN # 
traversalMethod_property_Object
+    : K_PROPERTY LPAREN traversalCardinality COMMA genericArgument COMMA 
genericArgument (COMMA genericArgumentVarargs)? RPAREN 
#traversalMethod_property_Cardinality_Object_Object_Object
+    | K_PROPERTY LPAREN traversalCardinality COMMA genericMapNullableArgument 
RPAREN # traversalMethod_property_Cardinality_Object
+    | K_PROPERTY LPAREN genericArgument COMMA genericArgument (COMMA 
genericArgumentVarargs)? RPAREN #traversalMethod_property_Object_Object_Object
+    | K_PROPERTY LPAREN genericMapNullableArgument RPAREN # 
traversalMethod_property_Object
     ;
 
 traversalMethod_propertyMap
-    : K_PROPERTYMAP LPAREN stringLiteralVarargs RPAREN
+    : K_PROPERTYMAP LPAREN stringNullableLiteralVarargs RPAREN
     ;
 
 traversalMethod_range
@@ -806,10 +806,10 @@ traversalMethod_sample
 traversalMethod_select
     : K_SELECT LPAREN traversalColumn RPAREN #traversalMethod_select_Column
     | K_SELECT LPAREN traversalPop COMMA stringLiteral RPAREN 
#traversalMethod_select_Pop_String
-    | K_SELECT LPAREN traversalPop COMMA stringLiteral COMMA stringLiteral 
(COMMA stringLiteralVarargs)? RPAREN 
#traversalMethod_select_Pop_String_String_String
+    | K_SELECT LPAREN traversalPop COMMA stringLiteral COMMA stringLiteral 
(COMMA stringNullableLiteralVarargs)? RPAREN 
#traversalMethod_select_Pop_String_String_String
     | K_SELECT LPAREN traversalPop COMMA nestedTraversal RPAREN 
#traversalMethod_select_Pop_Traversal
     | K_SELECT LPAREN stringLiteral RPAREN #traversalMethod_select_String
-    | K_SELECT LPAREN stringLiteral COMMA stringLiteral (COMMA 
stringLiteralVarargs)? RPAREN #traversalMethod_select_String_String_String
+    | K_SELECT LPAREN stringLiteral COMMA stringLiteral (COMMA 
stringNullableLiteralVarargs)? RPAREN 
#traversalMethod_select_String_String_String
     | K_SELECT LPAREN nestedTraversal RPAREN #traversalMethod_select_Traversal
     ;
 
@@ -871,14 +871,14 @@ traversalMethod_times
     ;
 
 traversalMethod_to
-    : K_TO LPAREN traversalDirection (COMMA stringLiteralVarargs)? RPAREN 
#traversalMethod_to_Direction_String
+    : K_TO LPAREN traversalDirection (COMMA stringNullableLiteralVarargs)? 
RPAREN #traversalMethod_to_Direction_String
     | K_TO LPAREN stringLiteral RPAREN #traversalMethod_to_String
     | K_TO LPAREN structureVertexArgument RPAREN #traversalMethod_to_Vertex
     | K_TO LPAREN nestedTraversal RPAREN #traversalMethod_to_Traversal
     ;
 
 traversalMethod_toE
-    : K_TOE LPAREN traversalDirection (COMMA stringLiteralVarargs)? RPAREN
+    : K_TOE LPAREN traversalDirection (COMMA stringNullableLiteralVarargs)? 
RPAREN
     ;
 
 traversalMethod_toLower
@@ -923,12 +923,12 @@ traversalMethod_value
     ;
 
 traversalMethod_valueMap
-    : K_VALUEMAP LPAREN stringLiteralVarargs RPAREN 
#traversalMethod_valueMap_String
-    | K_VALUEMAP LPAREN booleanLiteral  (COMMA stringLiteralVarargs)? RPAREN 
#traversalMethod_valueMap_boolean_String
+    : K_VALUEMAP LPAREN stringNullableLiteralVarargs RPAREN 
#traversalMethod_valueMap_String
+    | K_VALUEMAP LPAREN booleanLiteral  (COMMA stringNullableLiteralVarargs)? 
RPAREN #traversalMethod_valueMap_boolean_String
     ;
 
 traversalMethod_values
-    : K_VALUES LPAREN stringLiteralVarargs RPAREN
+    : K_VALUES LPAREN stringNullableLiteralVarargs RPAREN
     ;
 
 traversalMethod_where
@@ -939,7 +939,7 @@ traversalMethod_where
 
 traversalMethod_with
     : K_WITH LPAREN (withOptionKeys | stringLiteral) RPAREN 
#traversalMethod_with_String
-    | K_WITH LPAREN (withOptionKeys | stringLiteral) COMMA (withOptionsValues 
| ioOptionsValues | genericLiteralArgument) RPAREN 
#traversalMethod_with_String_Object
+    | K_WITH LPAREN (withOptionKeys | stringLiteral) COMMA (withOptionsValues 
| ioOptionsValues | genericArgument) RPAREN #traversalMethod_with_String_Object
     ;
 
 traversalMethod_write
@@ -954,8 +954,8 @@ traversalMethod_write
 // That use case is related to OLAP when the StarGraph does not preserve the 
label of adjacent vertices or other
 // fail fast scenarios in that processing model. It is not relevant to the 
grammar however when a user is creating
 // the Vertex to be used in a Traversal and therefore both id and label are 
required.
-structureVertex
-    : K_NEW? (K_VERTEX | K_REFERENCEVERTEX) LPAREN genericLiteralArgument 
COMMA stringArgument RPAREN
+structureVertexLiteral
+    : K_NEW? (K_VERTEX | K_REFERENCEVERTEX) LPAREN genericArgument COMMA 
stringArgument RPAREN
     ;
 
 traversalStrategy
@@ -963,7 +963,7 @@ traversalStrategy
     ;
 
 configuration
-    : (keyword | nakedKey) COLON genericLiteralArgument
+    : (keyword | nakedKey) COLON genericArgument
     ;
 
 traversalScope
@@ -1129,49 +1129,49 @@ traversalBiFunction
     ;
 
 traversalPredicate_eq
-    : (K_P DOT K_EQ | K_EQ) LPAREN genericLiteralArgument RPAREN
+    : (K_P DOT K_EQ | K_EQ) LPAREN genericArgument RPAREN
     ;
 
 traversalPredicate_neq
-    : (K_P DOT K_NEQ | K_NEQ) LPAREN genericLiteralArgument RPAREN
+    : (K_P DOT K_NEQ | K_NEQ) LPAREN genericArgument RPAREN
     ;
 
 traversalPredicate_lt
-    : (K_P DOT K_LT | K_LT) LPAREN genericLiteralArgument RPAREN
+    : (K_P DOT K_LT | K_LT) LPAREN genericArgument RPAREN
     ;
 
 traversalPredicate_lte
-    : (K_P DOT K_LTE | K_LTE) LPAREN genericLiteralArgument RPAREN
+    : (K_P DOT K_LTE | K_LTE) LPAREN genericArgument RPAREN
     ;
 
 traversalPredicate_gt
-    : (K_P DOT K_GT | K_GT) LPAREN genericLiteralArgument RPAREN
+    : (K_P DOT K_GT | K_GT) LPAREN genericArgument RPAREN
     ;
 
 traversalPredicate_gte
-    : (K_P DOT K_GTE | K_GTE) LPAREN genericLiteralArgument RPAREN
+    : (K_P DOT K_GTE | K_GTE) LPAREN genericArgument RPAREN
     ;
 
 traversalPredicate_inside
-    : (K_P DOT K_INSIDE | K_INSIDE) LPAREN genericLiteralArgument COMMA 
genericLiteralArgument RPAREN
+    : (K_P DOT K_INSIDE | K_INSIDE) LPAREN genericArgument COMMA 
genericArgument RPAREN
     ;
 
 traversalPredicate_outside
-    : (K_P DOT K_OUTSIDE | K_OUTSIDE) LPAREN genericLiteralArgument COMMA 
genericLiteralArgument RPAREN
+    : (K_P DOT K_OUTSIDE | K_OUTSIDE) LPAREN genericArgument COMMA 
genericArgument RPAREN
     ;
 
 traversalPredicate_between
-    : (K_P DOT K_BETWEEN | K_BETWEEN) LPAREN genericLiteralArgument COMMA 
genericLiteralArgument RPAREN
+    : (K_P DOT K_BETWEEN | K_BETWEEN) LPAREN genericArgument COMMA 
genericArgument RPAREN
     ;
 
 traversalPredicate_within
     : (K_P DOT K_WITHIN | K_WITHIN) LPAREN RPAREN
-    | (K_P DOT K_WITHIN | K_WITHIN) LPAREN genericLiteralListArgument RPAREN
+    | (K_P DOT K_WITHIN | K_WITHIN) LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalPredicate_without
     : (K_P DOT K_WITHOUT | K_WITHOUT) LPAREN RPAREN
-    | (K_P DOT K_WITHOUT | K_WITHOUT) LPAREN genericLiteralListArgument RPAREN
+    | (K_P DOT K_WITHOUT | K_WITHOUT) LPAREN genericArgumentVarargs RPAREN
     ;
 
 traversalPredicate_not
@@ -1469,43 +1469,40 @@ stringNullableArgument
     | variable
     ;
 
+stringNullableArgumentVarargs
+    : (stringNullableArgument (COMMA stringNullableArgument)*)?
+    ;
+
 dateArgument
     : dateLiteral
     | variable
     ;
 
-genericLiteralArgument
+genericArgument
     : genericLiteral
     | variable
     ;
 
-genericLiteralListArgument
-    : genericLiteralList
-    | variable
+genericArgumentVarargs
+    : (genericArgument (COMMA genericArgument)*)?
     ;
 
-genericLiteralMapArgument
-    : genericLiteralMap
+genericMapArgument
+    : genericMapLiteral
     | variable
     ;
 
-genericLiteralMapNullable
-    : genericLiteralMap
-    | nullLiteral
-    ;
-
-genericLiteralMapNullableArgument
-    : genericLiteralMap
-    | nullLiteral
+genericMapNullableArgument
+    : genericMapNullableLiteral
     | variable
     ;
 
 structureVertexArgument
-    : structureVertex
+    : structureVertexLiteral
     | variable
     ;
 
-traversalStrategyList
+traversalStrategyVarargs
     : traversalStrategyExpr?
     ;
 
@@ -1529,11 +1526,11 @@ nestedTraversalExpr
     : nestedTraversal (COMMA nestedTraversal)*
     ;
 
-genericLiteralVarargs
-    : (genericLiteralArgument (COMMA genericLiteralArgument)*)?
+genericCollectionLiteral
+    : LBRACK (genericLiteral (COMMA genericLiteral)*)? RBRACK
     ;
 
-genericLiteralList
+genericLiteralVarargs
     : genericLiteralExpr?
     ;
 
@@ -1541,36 +1538,24 @@ genericLiteralExpr
     : genericLiteral (COMMA genericLiteral)*
     ;
 
-genericLiteralRange
+genericMapNullableLiteral
+    : genericMapLiteral
+    | nullLiteral
+    ;
+
+genericRangeLiteral
     : integerLiteral DOT DOT integerLiteral
     | stringLiteral DOT DOT stringLiteral
     ;
 
-genericLiteralSet
+genericSetLiteral
     : LBRACE (genericLiteral (COMMA genericLiteral)*)? RBRACE
     ;
 
-genericLiteralCollection
-    : LBRACK (genericLiteral (COMMA genericLiteral)*)? RBRACK
-    ;
-
-stringLiteralVarargs
+stringNullableLiteralVarargs
     : (stringNullableLiteral (COMMA stringNullableLiteral)*)?
     ;
 
-stringLiteralVarargsArgument
-    : (stringNullableArgument (COMMA stringNullableArgument)*)?
-    ;
-
-stringLiteralList
-    : stringLiteralExpr?
-    | LBRACK stringLiteralExpr? RBRACK
-    ;
-
-stringLiteralExpr
-    : stringNullableLiteral (COMMA stringNullableLiteral)*
-    ;
-
 genericLiteral
     : numericLiteral
     | booleanLiteral
@@ -1584,16 +1569,16 @@ genericLiteral
     | traversalMerge
     | traversalPick
     | traversalDT
-    | structureVertex
-    | genericLiteralSet
-    | genericLiteralCollection
-    | genericLiteralRange
+    | structureVertexLiteral
+    | genericSetLiteral
+    | genericCollectionLiteral
+    | genericRangeLiteral
     | nestedTraversal
     | terminatedTraversal
-    | genericLiteralMap
+    | genericMapLiteral
     ;
 
-genericLiteralMap
+genericMapLiteral
     : LBRACK COLON RBRACK
     | LBRACK mapEntry (COMMA mapEntry)* RBRACK
     ;
@@ -1601,9 +1586,9 @@ genericLiteralMap
 mapKey
     : (LPAREN traversalT RPAREN | traversalTLong)
     | (LPAREN traversalDirection RPAREN | traversalDirectionLong)
-    | (LPAREN genericLiteralSet RPAREN | genericLiteralSet)
-    | (LPAREN genericLiteralCollection RPAREN | genericLiteralCollection)
-    | (LPAREN genericLiteralMap RPAREN | genericLiteralMap)
+    | (LPAREN genericSetLiteral RPAREN | genericSetLiteral)
+    | (LPAREN genericCollectionLiteral RPAREN | genericCollectionLiteral)
+    | (LPAREN genericMapLiteral RPAREN | genericMapLiteral)
     | (LPAREN stringLiteral RPAREN | stringLiteral)
     | (LPAREN numericLiteral RPAREN | numericLiteral)
     | (keyword | nakedKey)

Reply via email to