code: function(expression, combinator){
    if (!expression) return combinator;
  
    expression = Object.clone(Slick.parse(expression));
  
    var expressions = expression.expressions;
    for (var i = expressions.length; i--;)
      expressions[i][0].combinator = combinator;
  
    return expression;
  }
docs: tree walking