anchor.diff:      type SsdpNotifyMessage = {
           Host            : IPEndPoint
           CacheControl    : CacheControl
  -        Location        : IPEndPoint
  -        NT              : string
  +        Location        : string // generally a valid URL
  +        ST              : string
           NTS             : string
           Server          : string
           USN             : string
  
positive.code:             |> Map.ofList
  
          /// Parses an SSDP M-SEARCH message.
          let private parseMSearch (content : string) _msg =
  
              let map = getHeaderValueMap content
              let msg =
                  {
                      SsdpMSearchMessage.Host = IPEndPoint(0L, 0)
                      MAN = ""; MX = ""; ST = ""; UserAgent = ""
                  }
              MSearch (map |> Map.fold (makeKeyValuePair mSearchBuilders) msg)
  
          let private parseUnknown (content : string) (msg : MsgReceived) : SsdpMessage =
              Unhandled (Encoding.UTF8.GetString(msg.UdpResult.Buffer))
  
          let private verbParserMap =
              [
  
negative.code:     open System.Net.Sockets
      open System.Text
  
      /// Container for a received packet and a timestamp.
      type internal MsgReceived = { UdpResult : UdpReceiveResult; Timestamp : DateTimeOffset }
  
      type CacheControl = Empty // TODO ############################
  
      //-------------------------------------------------------------------------
      // SSDP Messages
  
      /// Traits of a received SSDP message.
      type SsdpMessageTraits = {
  