anchor.diff:      | Break of string option
       | Continue of string option
       | IfElse of Tree * Tree * Tree option
  -    | Ternary of Tree * Tree * Tree
       | Switch of Tree * Cases list
  -    | Comma of Tree * Tree
       | Try of Tree * Tree option * Tree option
       | Catch of string * Tree
       | Throw of Tree
       | Var of Tree
  +    | Block of Tree list
  +
  +    // Expressions
  +    | Eval of Tree
       | Identifier of string
  -    | Block of Tree list
  +    | Index of Tree * Tree
  +    | Property of Tree * string
  +    | Invoke of Tree * Tree list
  +    | Function of string option * FunctionScope ref * Tree
  +
  +    // Internal node types
  +    | Pass
  +    | DlrExpr   of Dlr.Expr
  +    | Convert   of uint32 * Tree
       | Directive of Directive
  -    | Line of string * int
  +    | Line      of string * int
   
     /// Switch statement cases
     and Cases 
  
positive.code:     SelfReference : string option
  
      Functions: Map<string, Tree>
      Variables : VariableMap
      CatchScopes : CatchScope ref list
      ParameterNames : string list
      Globals : string Set
  
negative.code:     }
  
      ///
      let createGlobalScope() = {
        createFunctionScope() with 
          ScopeType = ScopeType.GlobalScope
      }
        
      ///
      let createCatchScope name globalLevel closureLevel = ref {
  