public String prettyString() {
        return transform(a -> {
            if (a instanceof AttributeReference) {
                AttributeReference attr = (AttributeReference) a;
                return new PrettyAttribute(attr.name(), attr.dataType);
            }
            if (a instanceof UnresolvedAttribute) {
                UnresolvedAttribute attr = (UnresolvedAttribute) a;
                return new PrettyAttribute(attr.name());
            }
            return a;
        }).toString();
    }
Returns a user-facing string representation of this expression, i.e. does not have developer
centric debugging information like the expression id.
indexr-query-opt/src/main/java/io/indexr/query/expr/Expression.java