let is_valid (set:set) : [ `yes | `no of (entry list)] =
    let invalids =
      Ls.find_all
        (fun entry ->
           not (Ls.exists
                  (function `id _ -> true | _ -> false) entry))
        set in
    match invalids with
    | [] -> `yes
    | l -> `no l