anchor.diff:  module Fake.TargetHelper
   
   open System
  +open System.Text
   open System.Collections.Generic
   open System.Linq
   
  
positive.code:     match TargetDict.TryGetValue (target) with
      | false,_ -> PrintTargets()
      | true,target ->
          logfn "%sDependencyGraph for Target %s:" (if verbose then String.Empty else "Shortened ") target.Name
  
          let logDependency ((t: TargetTemplate<unit>), depType, level, isVisited) =
              if verbose ||  not isVisited then
                  let indent = (String(' ', level * 3))
                  if depType = DependencyType.Soft then
                      log <| sprintf "%s<=? %s" indent t.Name
                  else
                      log <| sprintf "%s<== %s" indent t.Name
  
          let _, ordered = visitDependencies logDependency target.Name
  
          log ""
          log "The resulting target order is:"
          Seq.iter (logfn " - %s") ordered
  
  /// <summary>Writes a dependency graph of all targets in the DOT format.</summary>
  let PrintDotDependencyGraph () =
      logfn "digraph G {"
      logfn "  rankdir=TB;"
      logfn "  node [shape=box];"
      for target in TargetDict.Values do
          logfn "  \"%s\";" target.Name
          let deps = target.Dependencies
          for d in target.Dependencies do
              logfn "  \"%s\" -> \"%s\"" target.Name d
          for d in target.SoftDependencies do
              logfn "  \"%s\" -> \"%s\" [style=dotted];" target.Name d
      logfn "}"
  
  /// Writes a summary of errors reported during build.
  let WriteErrors () =
  
negative.code: 
  /// Prints all targets.
  let PrintTargets() =
      let sb = StringBuilder()
      let appendfn fmt = Printf.ksprintf (sb.AppendLine >> ignore) fmt
  
      appendfn "The following targets are available:"
      for t in TargetDict.Values do
          appendfn "   %s%s" t.Name (if isNullOrEmpty t.Description then "" else sprintf " - %s" t.Description)
  
      sb.Length <- sb.Length - Environment.NewLine.Length
  
      log <| sb.ToString()
  
  
  // Maps the specified dependency type into the list of targets
  