anchor.diff:        fprintf wr "\n"
         inPre lines
       | lines ->
  -      fprintf wr "</pre>"
  +      fprintf wr "</code></pre>"
         paras lines
     and inPara i = function
       | (empty: string)::lines when i=0 && "" = empty.Trim () ->
         fprintf wr "</p>"
         paras lines
       | code::lines when i=0 && code.StartsWith "> " ->
  -      fprintf wr "</p>\n<pre>"
  +      fprintf wr "</p>\n<pre><code class=\"fsharp\">"
         inPre (code::lines)
       | (text: string)::lines when i < text.Length ->
         match text.[i] with
          | '`' ->
  -         fprintf wr "<code>"
  +         fprintf wr """<code class="fsharp">"""
            inCode text.[i] (i+1) (i+1) (text::lines)
          | c ->
            fprintf wr "%c" c
  
positive.code:           | [] -> ()
            | id::idPath ->
              parts id idPath [(".", 0)]
              fprintf wr "<b>.</b>"
  
           let text = asText id
           let link = linkName id path kind
  
negative.code:   text-decoration: none;
    font-weight: bold;
  }
  </style>
  </head>
  <body><table width="80%" align="center"><tr><td>"""
    fprintfn wr "<h1>%s Library Reference</h1>" title
    fprintfn wr "<h2>Synopsis</h2>"
    fprintf wr "<pre><code class=\"fsharp\">"
    printTokens wr id2items " " false (Some "dec") "def" model.Id model.Path model.Kind model.Tokens
    fprintf wr "\n"
    model.Body
    |> Seq.filter (isObsolete >> not)
    |> Seq.iter ^ printSummary wr id2items true (Some "dec") "def" 0
    fprintf wr "</code></pre>\n"
    fprintf wr "<h2>Description</h2>\n"
    printDescription wr id2items model
    fprintf wr "</td></tr></table></body>\n"
  