anchor.diff:      ]
     run (fun (name, signature, view, expected) -> test {
       let! apiDict = mscorlibApi
  -    let api = apiDict.Api |> Array.find (fun a -> a.Name.Print() = name && a.Signature.Print() = signature)
  -    let actual = LinkGenerator.DotNetApiBrowser.generate view api
  +    let api = apiDict.Api |> Array.tryFind (fun a -> a.Name.Print() = name && a.Signature.Print() = signature)
  +    let actual = api |> Option.bind (LinkGenerator.DotNetApiBrowser.generate view)
       do! actual |> assertEquals expected
     })
   }
  
positive.code:     ]
    run (fun (dict, name, signature, expected) -> test {
      let! apiDict = dict
      let api = apiDict.Api |> Array.find (fun a -> a.Name.Print() = name && a.Signature.Print() = signature)
      let actual = LinkGenerator.DotNetApiBrowser.generate "netframework-4.7" api
      do! actual |> assertEquals expected
    })
  }
  
negative.code:   ]
    run (fun (name, expected) -> test {
      let! apiDict = mscorlibApi
      let api = apiDict.Api |> Array.tryFind (fun a -> a.Name.Print() = name)
      let actual = api |> Option.bind (LinkGenerator.Msdn.generate)
      do! actual |> assertEquals expected
    })
  }
  