let domain m =
    M.fold (fun k _ s -> S.add k s) m S.empty