anchor.diff:            generateScripts scriptGenerator getScriptFile includeScriptsRootFolder framework dependenciesFile packagesOrGroupFolder groupName packages
         )
         |> ignore
  +
  +  type ScriptType =
  +  | CSharp
  +  | FSharp
  +    with
  +      member x.Extension =
  +        match x with
  +        | CSharp -> "csx"
  +        | FSharp -> "fsx"
  +
  +  let generateScriptsForRootFolderSimple scriptType =
  +      let scriptGenerator =
  +          match scriptType with
  +          | CSharp -> generateCSharpScript
  +          | FSharp -> generateFSharpScript
  +
  +      generateScriptsForRootFolder scriptType.Extension scriptGenerator
positive.code:           Path.Combine((getIncludeScriptRootFolder includeScriptsRootFolder framework).FullName, groupName.ToString())
            |> DirectoryInfo
  
    let getScriptFile (includeScriptsRootFolder: DirectoryInfo) (framework: FrameworkIdentifier) (groupName: GroupName) (package: PackageName) (scriptType: ScriptType) = 
        let folder = getScriptFolder includeScriptsRootFolder framework groupName
  
        Path.Combine(folder.FullName, sprintf "include.%s.%s" (package.GetCompareString()) scriptType.Extension)
        |> FileInfo
  
    let getGroupNameAsOption groupName =
  
negative.code:       getDllOrder (dllFiles.Keys |> Seq.toList)
        |> List.map (fun a -> dllFiles.[a])
  
      let getFrameworkReferencesWithinPackage (installModel :InstallModel) =
          installModel
          |> InstallModel.getFrameworkAssembliesLazy
          |> force
          |> Set.toSeq
  
  module ScriptGeneration =
    open PackageAndAssemblyResolution
    // this record holds what script generator needs
    // it might benefit some shuffling / design reconsideration
    // to get more consistent subset of required info
    type ScriptGenInput = {
        PackageName                  : PackageName
        Framework                    : FrameworkIdentifier
        PackagesOrGroupFolder        : DirectoryInfo
        IncludeScriptsRootFolder     : DirectoryInfo
        DependentScripts             : FileInfo seq
        FrameworkReferences          : string seq
        OrderedRelativeDllReferences : string seq
    }
  
    let makeRelativePath (scriptFile: FileInfo) (libFile: FileInfo) =
      (scriptFile.FullName |> Uri).MakeRelativeUri(libFile.FullName |> Uri).ToString()
  
    // default implementation of F# include script generator
    let generateFSharpScript (input: ScriptGenInput) =
      let packageName = input.PackageName.GetCompareString()
  
      let depLines =
        input.DependentScripts
        |> Seq.map (fun script -> sprintf """#load @"%s" """ script.Name)
  
      let framworkRefLines =
        input.FrameworkReferences
        |> Seq.map (sprintf """#r "%s" """)
  
      let dllLines =
        if packageName.ToLowerInvariant() = "fsharp.core"
        then Seq.empty else input.OrderedRelativeDllReferences
        |> Seq.map (sprintf """#r "%s" """)
  
      depLines
      |> fun lines -> Seq.append lines framworkRefLines
      |> fun lines -> Seq.append lines dllLines
      |> fun lines -> Seq.append lines [ sprintf "printfn \"%%s\" \"Loaded %s\"" packageName ]
  
    // default implementation of C# include script generator
    let generateCSharpScript (input: ScriptGenInput) =
      let packageName = input.PackageName.GetCompareString()
  
      let depLines =
        input.DependentScripts
        |> Seq.map (fun script -> sprintf """#load "%s" """ script.Name)
  
      let framworkRefLines =
        input.FrameworkReferences
        |> Seq.map (sprintf """#r "%s" """)
  
      let dllLines =
        input.OrderedRelativeDllReferences
        |> Seq.map (sprintf """#r "%s" """)
  
      depLines
      |> fun lines -> Seq.append lines framworkRefLines
      |> fun lines -> Seq.append lines dllLines
      |> fun lines -> Seq.append lines [ sprintf "System.Console.WriteLine(\"Loaded {0}\", \"%s\");" packageName ]
  
    let getIncludeScriptRootFolder (includeScriptsRootFolder: DirectoryInfo) (framework: FrameworkIdentifier) = 
        Path.Combine(includeScriptsRootFolder.FullName, string framework)
  