anchor.diff:      Expr.param (sprintf "%s_proxy" l.Name) scope.ArgTypes.[l.Index]
   
     scope.LocalVars
  -    |> Map.map(fun _ l -> 
  -                match l with
  +    |> Map.map(fun _ lv -> 
  +                match lv with
                   | Parameter -> 
  -                  match l with
  -                  | NeedProxy -> Proxied(createVar l, createProxy l)
  -                  | Not -> Variable(createVar l, P)
  +                  match lv with
  +                  | NeedProxy -> Proxied(createVar lv, createProxy lv)
  +                  | Not -> Variable(createVar lv, P)
                   | Local -> 
  -                  Variable(createVar l, L)
  +                  Variable(createVar lv, L)
                 )
   
   let private isLocal (_, v:Var) =
  
positive.code:     ctx.Scope.LocalVars
        |> Map.toSeq
        |> Seq.map (fun pair -> snd pair)
        |> Seq.filter (fun l -> Ast.Local.isClosedOver l)
        |> Seq.filter (fun l -> not (Ast.Local.needsProxy l))
        |> Seq.map (fun l -> 
             let expr = ctx.LocalExpr l.Name
             Expr.assign expr (Expr.new' expr.Type) 
           )
        #if DEBUG
  
negative.code:     ctx.Scope.LocalVars
        |> Map.toSeq
        |> Seq.map (fun pair -> snd pair)
        |> Seq.filter (fun lv -> Ast.Local.initToUndefined lv)
        |> Seq.map (fun lv -> 
             let expr = ctx.LocalExpr lv.Name
             Utils.Assign.value expr Runtime.Undefined.InstanceExpr
           )
        #if DEBUG
  