':see: Expression.visit_structured()'

def visit_structured(self, function, combinator):

    consequent = (function(self.consequent) if self.consequent else None)
    return combinator(self.refs, list(map(function, self.conds)), consequent)
