anchor.diff:        locals <- Map.add n emptyLocal locals
       { x with Locals = locals } :: xs
   
  -let getAst scope pr =
  +let internal getAst scope pr =
     scope := (snd pr)
     (fst pr)
   
  -let getIdentifier (s:Scopes) (n:string) =
  +let internal getIdentifier (s:Scopes) (n:string) =
     match s with
  -  | [] -> failwith "Empty scope"
  +  | [] -> failwith EmptyScopeChain
     | x::[] -> Global(n), s
     | x::xs ->
       if x.Locals.ContainsKey(n) then
  
positive.code: open IronJS.CSharp.Parser
  open Antlr.Runtime
  open Antlr.Runtime.Tree
  
  //Types
  type Type = 
  
negative.code: 
      (ES3Parser.FUNCTION, fun t s p -> 
        if t.ChildCount = 2 then
          let paramNames = "~closure" :: "this" :: [for c in (child t 0).Children -> (ct c).Text]
          let body, scopes = p (child t 1) (addLocals (emptyScope :: s) paramNames)
          Function(paramNames, scopes.Head, Null, body), scopes.Tail
        else
          failwith "No support for named functions"
      );
  |]
  
  