let find_exclusive k m =
    match m with
    | Top _ -> raise Not_exclusive
    | Map m ->
        let v = find_or_bottom k m in
        let map_without = M.remove k m in
        if M.is_empty map_without
        then v
        else raise Not_exclusive