anchor.diff:                                          
                                               Expr.Call(scope, inh, [Expr.Value(index); dispatcher; rootDispatcher])
   
  -
                                   | AssignInherit(value) ->
                                       repair value
   
  
positive.code: 
  
      module Ag =
          let synFunction<'a> (name : string) : obj -> 'a =
              match Globals.tryGetAttributeIndex name with
                  | Some i ->
  
negative.code:                                 | ShapeLambda(v,b) -> Expr.Lambda(v, repair b)
                                  | ShapeCombination(o, args) -> RebuildShapeCombination(o, args |> List.map repair)
  
  
  
                          let setCurrent (scope : Expr) = 
                              let s : Expr<Scope> = Expr.Coerce(scope, typeof<Scope>) |> Expr.Cast
                              <@ Ag.setScope %s @>
  
  
                          let body =
                              let rep = repair body
                              rep
  //                            if sf.kind = AttributeKind.Synthesized && Set.isEmpty sf.synthesizes then Expr.Sequential(setCurrent scope, rep)
  //                            else rep
  
                          Expr.Lambda(node, Expr.Lambda(vscope, body))
                          //attName, [node; vscope], repair body
                      | _ ->
                          failwith "sadasdasdasdasd"
  