anchor.diff:  /// ## Sample
   ///
   ///     ["file1.fs"; "file2.fs"]
  -///     |> Fsc (fun parameters ->
  -///                   { parameters with Output = ...
  -///                                     FscTarget = ...
  -///                                     ... })
  -let Fsc (setParams : FscParams -> FscParams) (inputFiles : string list) : unit = 
  -    let res = fsc setParams inputFiles
  +///     |> 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 ])
  
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) : int = 
      let inputFiles = inputFiles |> Seq.toList
      let taskDesc = inputFiles |> separated ", "
      let fscParams = if fscParams = [] then FscParam.Defaults else fscParams
      let argList = fscParams |> List.map string
      traceStartTask "Fsc " taskDesc
      let res = fscList inputFiles argList
      traceEndTask "Fsc " taskDesc
  