anchor.diff:          | EmbeddedResource -> "EmbeddedResource"
   
       static member Parse text = text |> function
  -        | "Compile"          -> Compile          
  -        | "Content"          -> Content          
  -        | "Reference"        -> Reference        
  -        | "None"             -> None             
  -        | "Resource"         -> Resource         
  -        | "EmbeddedResource" -> EmbeddedResource 
  +        | "Compile"          -> Compile
  +        | "Content"          -> Content
  +        | "Reference"        -> Reference
  +        | "None"             -> None
  +        | "Resource"         -> Resource
  +        | "EmbeddedResource" -> EmbeddedResource
           | _                  -> failwithf "Could not parse '%s' into a `BuildAction`" text
   
       static member TryParse text = text |> function
  -        | "Compile"          -> Some Compile          
  -        | "Content"          -> Some Content          
  -        | "Reference"        -> Some Reference        
  -        | "None"             -> Some None             
  -        | "Resource"         -> Some Resource         
  -        | "EmbeddedResource" -> Some EmbeddedResource 
  +        | "Compile"          -> Some Compile
  +        | "Content"          -> Some Content
  +        | "Reference"        -> Some Reference
  +        | "None"             -> Some None
  +        | "Resource"         -> Some Resource
  +        | "EmbeddedResource" -> Some EmbeddedResource
           | _                  -> Option.None
   
   
   // Under "Compile" in https://msdn.microsoft.com/en-us/library/bb629388.aspx
   type CopyToOutputDirectory =
       | Never | Always | PreserveNewest
  -       
  +
       override self.ToString () = self |> function
           | Never          -> "Never"
           | Always         -> "Always"
  
positive.code:     }
  
      static member fromXElem (xelem:XElement) =
      
          if  not ("PropertyGroup" = xelem.Name.LocalName)
           || not ^ XElem.hasAttribute "Condition" xelem then 
              failwithf "XElement provided was not `PropertyGroup` with a condition attribute, was `%s` instead" xelem.Name.LocalName
          else
  
          let split (str:string) =
              if String.IsNullOrWhiteSpace str then [] else
              str.Split ';' |> List.ofArray   
  
          let elem name = 
              match XElem.tryGetElement name xelem with
              | Some x -> Property<string>.fromXElem x
              | None   -> 
                  {   Name      = name
                      Condition = None
                      Data      = None    }
  
          let elemmap name (mapfn:string -> 'a) = 
              match XElem.tryGetElement name xelem with
              | Some x -> Property<'a>.fromXElem(x,mapfn)
              | None   -> 
                  {   Name      = name
                      Condition = None
                      Data      = None    }
  
negative.code:         |> XElem.setAttribute "Include" self.Include
          |> mapOpt self.Condition        ^ XElem.setAttribute "Condition"
          |> mapOpt self.Name             ^ XElem.addElem "Name"
          |> mapOpt self.HintPath         ^ XElem.addElem "HintPath"
          |> mapOpt self.SpecificVersion  ^ fun b node -> XElem.addElem "SpecificVersion" (string b) node
          |> mapOpt self.CopyLocal        ^ fun b node -> XElem.addElem "Private" (string b) node
  
  
  /// Represents a reference to another project
  // https://msdn.microsoft.com/en-us/library/bb629388.aspx
  type ProjectReference =
  