//NB: This one might break, there was talk about refactoring all for loops to while loops behind the scenes
        protected override CrawlSyntaxNode VisitForLoop(ForLoopNode forLoop)
        {
            GenericScope scope = new GenericScope(new[]
            {
                new KeyValuePair <string, TypeInformation>(
                    forLoop.LoopVariable.Value,
                    new TypeInformation(
                        forLoop.Loopvariable.ActualType,
                        ProtectionLevel.NotApplicable,
                        forLoop.LoopVariable.Interval.a,
                        DeclaringScope.MethodLike)
                    ),
            });

            ForLoopNode afterVisit = (ForLoopNode)base.VisitForLoop(forLoop);

            return(afterVisit.WithScope(scope));
        }