anchor.diff:          test2()
   
   
  -        let myType = Struct("sepp", [Type.V2f, "v0"; Type.Int32, "v1"])
  +        let myType = Struct("sepp", [Type.V2f, "v0", []; Type.Int32, "v1", []])
   
           let v = new Var("a", Type.UInt8, true)
           let v2 = new Var("b", Type.UInt8, true)
  
positive.code:         let m = new Var("m", myType, true)
  
  
          let ub0t = Struct("PerModel", [Type.M44f, "ModelViewProjTrafo"])
          let ub0 = Var("perModel", ub0t, true)
  
          let ex = 
  
negative.code: 
  module InstructionPrinter =
      
      module private Map =
          let update (f : Option<'v> -> 'v) (key : 'k) (m : Map<'k, 'v>) =
              let old = Map.tryFind key m
              m |> Map.add key (f old)
  
      let rec private buildNameMaps (current : Map<uint32, string>) (currentMembers : Map<uint32 * uint32, string * list<Decoration * uint32[]>>) (s : list<Instruction>) =
          
          let addMemberName (id : uint32) (idx : uint32) (name : string) m =
              let key = id, idx
              match Map.tryFind key m with
                  | Some (_,dec) -> Map.add key (name, dec) m
                  | _ -> Map.add key (name, []) m
  
          let addMemberDecoration (id : uint32) (idx : uint32) (dec : Decoration) (args : uint32[]) m =
              let key = id, idx
              match Map.tryFind key m with
                  | Some (n,old) -> Map.add key (n, (dec,args)::old) m
                  | _ -> Map.add key ("", [dec, args]) m
  
          match s with
              | [] -> current, currentMembers
              | OpName(id, name) :: rest -> 
                  buildNameMaps (Map.add id name current) currentMembers rest
  
              | OpMemberName(id, idx, name) :: rest -> 
                  buildNameMaps current (addMemberName id idx name currentMembers) rest
  
              | OpMemberDecorate(id, idx, dec, args) :: rest ->
                  buildNameMaps current (addMemberDecoration id idx dec args currentMembers) rest
  
  
              | _ :: rest -> buildNameMaps current currentMembers rest
  
      let rec private buildTypeMap (names : Map<uint32, string>) (memberNamesAndDecorations : Map<uint32 * uint32, string * list<Decoration * uint32[]>>) (current : Map<uint32, Type>) (s : list<Instruction>) =
          let buildTypeMap c s = buildTypeMap names memberNamesAndDecorations c s
  
          match s with
              | [] -> current
  