code: function LitExpr(value, dataType, hasExplicitDataType) {
        // dataType may come is an a string
        dataType = resolveDataType(dataType);
        // if the DataType comes in as Undefined this means
        // that we should NOT attempt to parse it but just leave it alone
        // for now - this is usually because it is part of a Func expr.
        dataType = dataType || DataType.fromValue(value);
  
        if (dataType && dataType.parse) {
          if (Array.isArray(value)) {
            this.value = value.map(function(v) { return dataType.parse(v, typeof v) });
          } else {
            this.value = dataType.parse(value, typeof value);
          }
        } else {
          this.value = value;
        }
        this.dataType = dataType;
        this.hasExplicitDataType = hasExplicitDataType;
      }
docs: 2 public props: value, dataType