> You'll find that while maps are in theory lists of vector pair
They aren't. When you seq over a map you get a list of MapEntry, like so: (clojure.lang.MapEntry. :a 1)
MapEntries aren't vectors, and while they can be destructured like vectors, you can't make empty instances of them.
(empty) still is useful in a variety of cases. See for example this bug report that I've filled: http://dev.clojure.org/jira/browse/CLJ-1476