Comment made by: bronsa
Me and Reid have been talking about this issue over IRC, here's what's come up:
Vars can be either unnamed (as are Vars returned by with-local-vars) or contain both a namespace and a name part( that's the case for interned Vars)
there's currently no way to test for the "internedness" of a Var, so accessing either the .name or the .namespace field of the Var testing for nil is the only way to do it currently
given the above, the current patch seems unsatisfactory, here some proposed solutions:
make Var Named, make namespace return nil for an unnamed Var and name return "--unnamed--"
keep Var not implementing Named, add a "var-symbol" function returning either a namespaced symbol matching the ns+name of the Var or nil for an unnamed Var
Personally, I'd rather have the second solution implemented as I don't feel Var should be Named given that they can be unnamed and that strikes me as a contradicion