anchor.diff:                  // behavior of MSBuild.
                   Map.add node.Name text data
   
  -            let inline handleConditionalElement data node =
  +            let handleConditionalElement data node =
                   node
                   |> getAttribute "Condition"
                   |> function
  
positive.code: 
                  System.Text.RegularExpressions.Regex.Matches(text, regex)
                  |> fun x -> System.Linq.Enumerable.Cast<System.Text.RegularExpressions.Match>(x)
                  |> Seq.rev
                  |> Seq.fold replacePlaceholder text
  
              let inline conditionMatches data condition =
                  // TODO: Process conditions
                  true
  
              let inline addData data (node:XmlNode) =
                  let text = processPlaceholders data node.InnerText
                  // Note that using Map.add overrides the value assigned
                  // to this key if it already exists in the map; so long
  
negative.code: 
      member this.GetOutputDirectory buildConfiguration =
          let rec handleElement (data : Map<string, string>) (node : XmlNode) =
              let processPlaceholders (data : Map<string, string>) text =
                  let getPlaceholderValue (name:string) =
                      // Change "$(Configuration)" to "Configuration",
                      // then find in the data map
  