docs: function (op, obj) {
              var pairs = [];
              if (Expression.isConditionSpecifier(obj)) {
                  if (isHash(obj)) {
                      obj = array.toArray(obj);
                  }
                  obj.forEach(function (pair) {
                      pairs.push(new BooleanExpression(op, new Identifier(pair[0]), pair[1]));
                  });
              }
              return pairs.length === 1 ? pairs[0] : BooleanExpression.fromArgs(["AND"].concat(pairs));
          }