anchor.diff:  
   let (|Def|_|) (s: string) =
     let ss = summarize s
  -  ss
  -  |> function
  +  match ss with
      | "module"          ::name::_
      | "namespace"       ::name::_
      | "type"            ::name::_
  
positive.code:    | _                    -> None
  
  let rec itemize ls =
    let rec outside indent items docs attrs lines =
      match lines with
       | [] -> (List.rev items, [])
       | (_, Ignored ())::lines ->
         outside indent items docs attrs lines
       | (i, Punc text)::lines ->
         outside indent ({empty with Text = text; Indent = i}::items) [] [] lines
       | (indent', _)::_ when indent' <= indent ->
         (List.rev items, lines)
       | (0, Namespace (name, text))::lines ->
         let (body, lines) = outside indent [] [] [] lines
  
negative.code:    | "(" | ")" | "->" | "{" | "}" | ":" ->
       fprintf wr "<b>%s</b>" (asText elem)
     | _ ->
       fprintf wr "%s" (asText elem)
  
  let printText wr path inSection toSection item =
    let linked = ref false
  