let find_field (field:field_name) (entry:entry) =
let f = Ls.find_opt in
match field with
| `id -> (f (function `id v -> true | _ -> false) entry)
| `authors -> (f (function `authors v -> true | _ -> false) entry)
| `title -> (f (function `title v -> true | _ -> false) entry)
| `how -> (f (function `how v -> true | _ -> false) entry)
| `year -> (f (function `year v -> true | _ -> false) entry)
| `url -> (f (function `url v -> true | _ -> false) entry)
| `pdfurl -> (f (function `pdfurl v -> true | _ -> false) entry)
| `bibtex -> (f (function `bibtex v -> true | _ -> false) entry)
| `note -> (f (function `note v -> true | _ -> false) entry)
| `abstract -> (f (function `abstract v -> true | _ -> false) entry)
| `doi -> (f (function `doi v -> true | _ -> false) entry)
| `citation -> (f (function `citation v -> true | _ -> false) entry)
| `tags -> (f (function `tags v -> true | _ -> false) entry)
| `keywords -> (f (function `keywords v -> true | _ -> false) entry)
| `comment key ->
(f (function `comment (s,v) when s =$= key -> true
| _ -> false) entry)