Use additional type encoding check results to avoid non-local unwrap.
As discussed, this introduces an additional type CheckedSearchResult
which encodes the fact that we already checked whether a title is present before handing the item on to the dataset writer functions. This is a bit of extra ceremony, but it does avoid an unwrap
the justification of which is to be found a few hundred lines elsewhere in the module.