anchor.diff:    type DynamicScopeLevels = {
       Global: int
       Local: int
  -  }
  +  } with
  +    static member New = {
  +      Global = 0
  +      Local = 0
  +    }
   
     type State = { 
       ScopeChain: Types.Scope list
  
positive.code:                   }
  
                    fs // return old top-scope
        | _     -> failwith "Couldn't exit scope"
  
      let enterDynamicScope sr =
  
negative.code:     let isInsideDynamicScope (ps:Types.State) =
        globalDynamicScopeLevel ps > 0
  
      let modifyTopScope sr fn = 
        match getScopeChain !sr with
        | []     -> failwith "Empty scope-chain"
        | fs::tl -> sr := {!sr with ScopeChain = fn fs::tl}
  
      let enterScope sr (parms:AntlrToken seq) =
        let variables = 
          Seq.mapi (fun i (t:AntlrToken) -> 
  