code: function Constraint(left_op, right_op, isList) {
    this.left = left_op;
    this.right = right_op;
    this.isList = false;
    if (isList) {
      this.isList = isList;
    }
  }
docs: Constructor left_of and right_op are arrays of features (i.e. strings) if isList is true then the right operand is a list of paths