anchor.diff:  type ObjectList = Object ResizeArray
   
   module Variables = 
  -  let rec private scanObjects fnc (lst:Scope ResizeArray) topScope = 
  -    let rec scanObjects n = 
  +  let rec private scanScopes fnc (lst:Scope ResizeArray) topScope = 
  +    let rec scanScopes n = 
         if n >= lst.Count
           then  false, null
           else  let scope = lst.[n]
                 if scope.ScopeLevel < topScope 
                   then  false, null
  -                else  let pair = fnc lst.[n] 
  -                      if (fst pair) 
  +                else  let pair = fnc scope
  +                      if fst pair
                           then pair
  -                        else scanObjects (n+1)
  -    scanObjects 0
  +                        else scanScopes (n+1)
  +    scanScopes 0
   
     let private setInObjects (name:string) (value:Dynamic) scopes = 
       if scopes = null
  
positive.code:       let found, item = getFromObjects name localScopes
        if found 
          then  item
          else  let found, item = scanObjects (fun (x:Scope) -> getFromObjects name x.Objects) closure.Scopes (-1)
                if found 
                  then item
                  else closure.Globals.Get name
  
negative.code:       let pair = getFromObjects name localScopes
        if (fst pair)
          then  pair
          else  let pair = scanScopes (fun (x:Scope) -> getFromObjects name x.Objects) closure.Scopes maxScopeLevel
                if (fst pair)
                  then pair
                  else false, null
  