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)