anchor.diff:  
                       )
   
  -                GLSLType.Struct(name, newFields, offset), largestAlign, offset
  +                let size =
  +                    if offset % 16 = 0 then offset
  +                    else offset + 16 - (offset % 16)
  +                    
  +                GLSLType.Struct(name, newFields, offset), 16, offset
                   
               | GLSLType.DynamicArray(e,_) ->
                   let (e,align,s) = layout e
  
positive.code:                         if offset % align <> 0 then
                              offset <- offset + (align - offset % align)
  
                          largestAlign <- max largestAlign align
                          let res = name, typ, offset
                          offset <- offset + size
  
  
negative.code: 
                  { uf with ufOffset = res; ufType = nufType }
              )
  
          let size =
              if offset % 16 = 0 then offset
              else offset + 16 - (offset % 16)
                      
          { ub with ubFields = newFields; ubSize = size }
      
      let apply (iface : GLSLProgramInterface) =
          // (a,(b,c))
  