let sort ?(by=`id) ?(reverse=false) (bibset:set) : set =
    let may_reverse = 
      if reverse then fun f a b -> f b a else fun f a b -> f a b in
    let cmp ea eb =
      let authors_style = `acm in
      may_reverse
        String.compare
        (field_or_empty ~authors_style by ea)
        (field_or_empty ~authors_style by eb) in
    Ls.sort ~cmp bibset