anchor.diff:    let rec outside indent path items docs attrs = function
        | [] -> (List.rev items, [])
        | (i, text: string)::lines ->
  -       if text.Length = 0 || List.exists text.StartsWith ["#"; "// "; "////"; "open "] then
  +       if text.Length = 0
  +          || List.exists text.StartsWith ["#"; "// "; "////"; "open "] then
            outside indent path items docs attrs lines
          elif i <= indent then
            (List.rev items, (i, text)::lines)
  
positive.code:   |> List.exists (fun item ->
       hasDocs item || bodyHasDocs item)
  
  let needsSummary item =
    hasDocs item || bodyHasDocs item
  
  let rec printSummary wr id2items deep inSection toSection drop item =
    let indent = max (item.Indent - drop) 0
  
negative.code:   printTokens wr id2items " " (Some "dec") "def" model.Id model.Path model.Kind model.Tokens
    fprintf wr "</pre>\n"
    model.Body
    |> Seq.filter (isObsolete >> not)
    |> Seq.iter (fun item ->
       fprintf wr "<pre>"
       printSummary wr id2items true (Some "dec") "def" 0 item
  