anchor.diff:  open Microsoft.FSharp.Compiler.Interactive.Shell
   open Paket
   
  -module ConfigHelpers =
  +// [omit]
  +module ConfigHelpers = 
       let initialCode = """
   open System.Collections.Generic
   let __nuget = new Dictionary<string,string*string*string>()
  
positive.code:                 executeInScript session
                  match session.EvalExpression "__nuget" with
                  | Some value -> 
                      let dependencies =
                          value.ReflectionValue :?> Dictionary<string,string*string*string>
                          |> Seq.map (fun x -> 
                              let sourceType,source,version = x.Value
                              { Name = x.Key; VersionRange = parseVersionRange version; SourceType = sourceType; Source = source })
                      dependencies
                  | _ -> failwithf "Error: %s" <| sbErr.ToString()
              with _ -> failwithf "Error: %s" <| sbErr.ToString()
          with exn -> failwithf "FsiEvaluationSession could not be created. %s" <| sbErr.ToString()
  
  type Config(packages : Package seq) =
      let packages = packages |> Seq.toList
      let dependencyMap = Map.ofSeq (packages |> Seq.map (fun p -> p.Name,p.VersionRange))
      member __.DirectDependencies = dependencyMap
      member __.Packages = packages
      member __.Resolve(discovery : IDiscovery) = Resolver.Resolve(discovery, packages)
      static member FromCode code : Config = Config(ConfigHelpers.executeInScript (fun session -> session.EvalExpression code |> ignore))
      static member ReadFromFile fileName : Config = Config(ConfigHelpers.executeInScript (fun session -> session.EvalScript fileName))
  
negative.code: 
  let nuget package version = __nuget.Add(package,("nuget",__nugetSource,version))
  """
      
      let parseVersionRange (text : string) : VersionRange = 
          // TODO: Make this pretty
          if text.StartsWith "~> " then 
  