anchor.diff:      | Pass
       | Null
       | Undefined
  -
  -    // Operators
       | Convert of uint32 * Tree
       | Unary of UnaryOp  * Tree
       | Binary of BinaryOp * Tree * Tree
       | Assign of Tree * Tree
       | Regex of string * string
  -
  -    // Object
       | Object of (string * Tree) list
       | Array of Tree list
       | With of Tree * Tree
       | Property of Tree * string
       | Index of Tree * Tree
  -
  -    // Function
       | Eval of Tree
       | New of Tree * Tree list
       | Return of Tree
       | Function of string option * Scope * Tree
       | Invoke of Tree * Tree list
  -
  -    // Control Flow
       | Label of string * Tree
       | For of string option * Tree * Tree * Tree * Tree
       | ForIn of string option * Tree * Tree * Tree
  
positive.code:     | Ternary of Tree * Tree * Tree
      | Switch of Tree * Cases list
      | Comma of Tree * Tree
  
      // Exception
      | Try of Tree * Tree option * Tree option
      | Catch of string * Tree
      | Throw of Tree
  
      //
      | Var of Tree
      | Identifier of string
      | Block of Tree list
  
negative.code:     | Dynamic
      
    type Tree
      = String of string
      | Number of double
      | Boolean of bool
  