The meaning of stop is different here. It doesn't mean stop visiting any statement, it only means stop visiting child statements. ```applyTo``` calls the user supplied visitor and if it set ```stop = true``` ```applyTo``` returns false. In that case this functions returns without visiting child statements, but visiting other statements will continue. It might not be a clever idea to reuse 'stop' for this, I'm open to better solutions.

Thinking about this I probably don't even need this for statements, but I need it for expressions.