anchor.diff:            | [item] when isUnique item || pathFilter item ->
               let link = linkName id item.Path item.Kind
               fprintf wr "<a href=\"#%s:%s\">%s</a>"
  -             "def" link (asText id)
  +             "def" (Uri.EscapeDataString link) (asText id)
             | _ ->
               let longId = String.concat "." (List.rev (id::idPath))
               printf "Failed to resolve: %s\n" longId
  
positive.code:          let id = match inSection with
                     | None -> " "
                     | Some inSection -> sprintf " id=\"%s:%s\" " inSection link
           fprintf wr "<a%shref=\"#%s:%s\">%s</a>" id toSection link text
         else
           let kindsFilter =
             match ts with
  
negative.code: let linkName id path kind =
     let prefix = match kind with None -> "" | Some kind -> kind + " "
     asText (prefix + String.concat "." (List.rev (id::path)))
  
  let printTokens wr id2items space spaced inSection toSection linkId path kind ts =
    let linked = ref (Option.isNone linkId)
  