anchor.diff:          if generateClass then
               let consts =
                   attributes
  -                |> Seq.mapi (fun index a -> index,a)
  -                |> Seq.groupBy (fun (_,attr) -> attr.StaticPropertyName)
  -                |> Seq.collect (fun (_,group) -> group |> Seq.mapi (fun i a -> i,a))
  -                |> Seq.sortBy (fun (_,(index,_)) -> index)
  -                |> Seq.map (fun (id,(_,attr)) ->
  -                    let name = if id = 0 then attr.StaticPropertyName else sprintf "%s_%d" attr.StaticPropertyName id
  -                    sprintf "    Friend Const %s As %s = %s" name attr.StaticPropertyType attr.StaticPropertyValue)
  +                |> getSortedAndNumberedAttributes 
  +                |> Seq.map(fun (name, attrtype, value) -> sprintf "    Friend Const %s As %s = %s" name attrtype value)
                   |> Seq.toList
               "Friend NotInheritable Class AssemblyVersionInformation"::consts @ [ "End Class" ]
           else []
  
positive.code:     | Some attr -> attr.Value
      | None _ -> getAssemblyVersionInfo attributes
  
  /// Creates a C# AssemblyInfo file with the given attributes and configuration.
  /// The generated AssemblyInfo file contains an AssemblyVersionInformation class which can be used to retrieve the current version no. from inside of an assembly.
  let CreateCSharpAssemblyInfoWithConfig outputFileName attributes (config : AssemblyInfoFileConfig) =
  
negative.code:         if generateClass then
              let consts =
                  attributes
                  |> getSortedAndNumberedAttributes 
                  |> Seq.map (fun (name, attrtype, value) ->
                      sprintf "        internal const %s %s = %s;" attrtype name value)
                  |> Seq.toList
              [ sprintf "namespace %s {" useNamespace
                "    internal static class AssemblyVersionInformation {" ]
  