anchor.diff:  module HtmlAttributeExtensions =
   
       type HtmlAttribute with
  -        /// <summary>
  +
           /// Gets the name of the current attribute
  -        /// </summary>
  -        member x.Name with get() = HtmlAttribute.name x
  -
  -        /// <summary>
  +        member x.Name = HtmlAttribute.name x
  +
           /// Gets the value of the current attribute
  -        /// </summary>
           member x.Value() = HtmlAttribute.value x
   
           /// <summary>
  
positive.code: 
  [<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
  module HtmlAttribute = 
      ///<summary>
      ///Gets the name of the given attribute
      /// </summary>
      let name = function
          | HtmlAttribute(name = name) -> name
  
      ///<summary>
      ///Gets the values of the given attribute
      /// </summary>
      let value = function
          | HtmlAttribute(value = value) -> value   
  
      ///<summary>
      ///Parses the value of the attribute using the given function
      /// </summary>
      let parseValue parseF attr = 
          value attr |> parseF
  
      ///<summary>
      ///Attempts to parse the value of the attribute using the given function
      ///if the parse functions fails the defaultValue is returned
      /// </summary>
      let tryParseValue defaultValue parseF attr = 
          match value attr |> parseF with
          | true, v -> v
  
negative.code:         /// <param name="x">The given HTML node</param>
          member x.TryFindPrevious(f) = HtmlNode.tryFindPrevious f x
  
          /// Parses the specified HTML string to a list of HTML nodes
          static member Parse(text) = 
            use reader = new StringReader(text)
            HtmlParser.parseFragment reader (ref None)
  
          /// Parses the specified HTML string to a list of HTML nodes
          static member ParseRooted(rootName, text) = 
            use reader = new StringReader(text)
            let parent = ref None
  