@Override
            public Value visitString(Template value) {
                return Value.stringValue(value.accept(new TemplateVisitor<String>() {
                    @Override
                    public String visitStaticTemplate(String value) {
                        return value;
                    }

                    @Override
                    public String visitSingleDynamicTemplate(Expression value) {
                        return value.accept(evaluator).expectStringValue().getValue();
                    }

                    @Override
                    public String visitStaticElement(String value) {
                        return value;
                    }

                    @Override
                    public String visitDynamicElement(Expression value) {
                        return value.accept(evaluator).expectStringValue().getValue();
                    }

                    @Override
                    public String startMultipartTemplate() {
                        return "";
                    }

                    @Override
                    public String finishMultipartTemplate() {
                        return "";
                    }
                }).collect(Collectors.joining()));
            }
@param evaluator the rule-set evaluator.
@return the resulting value.
smithy-rules-engine/src/main/java/software/amazon/smithy/rulesengine/language/syntax/expressions/literal/Literal.java