@Override
            public Literal arrayNode(ArrayNode arrayNode) {
                List<Literal> elements = arrayNode.getElementsAs(node -> node.accept(this));
                return new TupleLiteral(elements, arrayNode);
            }
Constructs a literal from a {@link Node} based on the Node's type.

@param node a node to construct as a literal.
@return the literal representation of the node.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/syntax/expressions/literal/Literal.java