anchor.diff:      trace <| sprintf "FSC with args:%A" optsArr
       // Always prepend "fsc.exe" since fsc compiler skips the first argument
       let optsArr = Array.append [|"fsc.exe"|] optsArr
  -    let errors, exitCode = scs.Compile(optsArr)
  +    let errors, exitCode = scs.Compile optsArr
       // Better compile reporting thanks to:
       // https://github.com/jbtule/ComposableExtensions/blob/5b961b30668bb7f4d17238770869b5a884bc591f/tools/CompilerHelper.fsx#L233
       for e in errors do
           let errMsg = e.ToString()
           match e.Severity with
  -        | Microsoft.FSharp.Compiler.Warning -> traceImportant errMsg
  -        | Microsoft.FSharp.Compiler.Error -> traceError errMsg
  +        | FSharpErrorSeverity.Warning -> traceImportant errMsg
  +        | FSharpErrorSeverity.Error -> traceError errMsg
       exitCode
   
   /// Compiles the given F# source files with the specified parameters.
  
positive.code: /// There is also a tutorial about the [F# compiler tasks](../fsc.html) available.
  module Fake.FscHelper
  
  open Microsoft.FSharp.Compiler.SimpleSourceCodeServices
  
  /// The 'fsc.exe' output target types
  type FscTarget = 
      | Exe
      | Winexe
      | Library
      | Module
  
  /// The 'fsc.exe' output platforms
  type FscPlatform = 
      | X86
      | Itanium
      | X64
      | AnyCpu32BitPreferred
      | AnyCpu
  
  /// 'fsc.exe' command line parameters
  type FscParams = 
      { /// Specifies the output file name and path.
        Output : string
        /// Specifies the compiled artifact target type.
        FscTarget : FscTarget
        /// Specifies the compiled artifact target platform.
        Platform : FscPlatform
        /// Specifies files to reference for the compilation.
        References : string list
        /// Specifies whether to emit debug information (default is false).
        Debug : bool
        /// Specifies other params for the compilation. Freeform strings.
        OtherParams : string list }
  
      /// The default parameters to the compiler service.
      static member Default = 
          { Output = ""
            FscTarget = Exe
            Platform = AnyCpu
            References = []
            Debug = false
            OtherParams = [] }
  
  /// Compiles the given source file with the given options. If no options
  /// given (i.e. the second argument is an empty list), by default tries
  
negative.code: /// ## Sample
  ///
  ///     ["file1.fs"; "file2.fs"]
  ///     |> Fsc [Out "" 
  ///             Target Exe
  ///             Platform AnyCpu
  ///             References []
  ///             Debug false 
  ///        ]
  let Fsc (fscParams : FscParam list) (inputFiles : string list) : unit = 
      let res = fsc fscParams inputFiles
      if res <> 0 then raise <| BuildException("Fsc: compile failed with exit code", [ string res ])
  