@Override
            public Type visitTuple(List<Literal> members) {
                List<Type> tuples = new ArrayList<>();
                for (Literal element : members) {
                    tuples.add(element.typeCheck(scope));
                }
                return Type.tupleType(tuples);
            }
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