anchor.diff:  let traceEndBuild() = postMessage FinishedMessage
   
   /// Puts an opening tag on the internal tag stack
  -let openTag tag = openTags <- tag :: openTags
  +let openTag tag = openTags.Value <- tag :: openTags.Value
   
   /// Removes an opening tag from the internal tag stack
   let closeTag tag = 
  -    match openTags with
  -    | x :: rest when x = tag -> openTags <- rest
  +    match openTags.Value with
  +    | x :: rest when x = tag -> openTags.Value <- rest
       | _ -> failwithf "Invalid tag structure. Trying to close %s tag but stack is %A" tag openTags
       CloseTag tag |> postMessage
   
  -let closeAllOpenTags() = Seq.iter closeTag openTags
  +let closeAllOpenTags() = Seq.iter closeTag openTags.Value
   
   /// Traces the begin of a target
   let traceStartTarget name description dependencyString = 
  
positive.code: /// Gets the FAKE version no.
  let fakeVersion = AssemblyVersionInformation.Version
  
  let mutable private openTags = []
  
  /// Logs the specified string        
  let log message = LogMessage(message, true) |> postMessage
  
negative.code: open System
  open System.IO
  open System.Reflection
  open System.Threading
  
  /// Gets the path of the current FAKE instance
  let fakePath = productName.GetType().Assembly.Location
  