anchor.diff:                      getSuggestions
                       getNewKeywordSuggestions
                       fixUnused
  +                    upercaseDU
                   |] |> Array.collect (fun f -> f doc diagnostics) |> ResizeArray |> Case1
               }
   
  
positive.code:         edit.replace(uri, range, suggestion)
          workspace.applyEdit edit
  
  
      let activate selector (disposables: Disposable[]) =
          languages.registerCodeActionsProvider (selector, createProvider()) |> ignore
          commands.registerCommand("fsharp.quickFix",Func<obj,obj,obj,obj>(fun a b c -> applyQuickFix(a |> unbox, b |> unbox, c |> unbox) |> unbox )) |> ignore
  
          ()
  
  
negative.code:                mkQuickFix doc d.range "Prefix with _" s2 |] )
  
  
      let upercaseDU (doc : TextDocument) (diagnostics : Diagnostic seq) =
          diagnostics
          |> ifDiagnostic "Discriminated union cases and exception labels must be uppercase identifiers" (fun d ->
              let s = doc.getText(d.range).ToCharArray()
              let c = s.[0]?toUpperCase() |> unbox<char>
  
              let chars = [| yield c; yield! s.[1..]  |]
              let s = String(chars)
  
              [| mkRenameFix doc d.range (sprintf "Replace with %s" s) s |] )
  
  
      let private createProvider () =
          { new CodeActionProvider
            with
  