anchor.diff:      |> List.iter (fun example ->
               // Compile type provider
               let output = testDir @@ example.Name + ".dll"
  -            let setOpts = fun (def:FscHelper.FscParams) -> { def with Output = output; FscTarget = FscHelper.FscTarget.Library }
  -            FscHelper.Fsc setOpts (List.concat [sources;fromExampleDir example.ProviderSourceFiles])
  +            (List.concat [sources;fromExampleDir example.ProviderSourceFiles])
  +            |> Compile [
  +                Out output
  +                FscHelper.Target TargetType.Library
  +            ]
   
               // Compile test dll
  -            let setTestOpts = fun (def:FscHelper.FscParams) ->
  -                { def with
  -                    Output = testDir @@ example.Name + ".Tests.dll"
  -                    FscTarget = FscHelper.FscTarget.Library
  -                    References = [output;nunitDir @@ "nunit.framework.dll"] }
  -            FscHelper.Fsc setTestOpts (fromExampleDir example.TestSourceFiles)
  +            (fromExampleDir example.TestSourceFiles)
  +            |> Compile [
  +                Out (testDir @@ example.Name + ".Tests.dll")
  +                FscHelper.Target TargetType.Library
  +                References [output;nunitDir @@ "nunit.framework.dll"]
  +            ]
           )
   )
   
  
positive.code: // --------------------------------------------------------------------------------------
  // Compile ProvidedTypes as a smoke test
  Target "Compile" (fun _ ->
      FscHelper.Fsc id sources
      !! "FSharp.TypeProviders.StarterPack.sln"
      |> MSBuildRelease "" "Build"
      |> ignore
  
negative.code: 
  open System
  open System.IO
  open Fake.AssemblyInfoFile
  open Fake.Git
  open Fake.Testing
  open Fake.FscHelper
  open Fake
  
  
  // --------------------------------------------------------------------------------------
  