anchor.diff:  
                   // TODO: sort used
   
  +                let allUniforms =
  +                    definitions
  +                        |> List.map (fun (_,e,_) -> getUsedUniformExtensions e) 
  +                        |> HSet.unionMany
  +                        |> HSet.map (fun (mem, u) ->
  +                            
  +                            let name = mem.Name
  +
  +                            let name =
  +                                let arr = name.Split [|'.'|]
  +                                arr.[arr.Length - 1]
  +
  +                            let name = 
  +                                if name.StartsWith "get_" then name.Substring 4
  +                                else name
  +
  +                            (name, u)
  +                        )
  +                        |> Map.ofSeq
  +
                   let uniformDefs = 
  -                    e.Uniforms 
  +                    allUniforms
                           |> Map.toList
                           |> List.choose (fun (name, u) ->
                               match u.uniformValue with
  
positive.code:                         yield "#load \"Setup.fsx\""
                          yield "open Setup"
                          yield "open Aardvark.Base"
                          yield "open FShade"
                          yield ""
  
  
negative.code:                                 ]
  
  
                              //for o in definition.opened do 
                              //    yield sprintf "    open %s" o
                              //
                              //yield ""
  
                              yield String.indent 1 vertexDef
  
  