This is a rollup of some minor fixes that have been on my back burner. I figured it was easiest to put them in a single pull request.
(String, String) => (QName, String)
For the sake of full disclosure, #1 does introduce a minor compile-time passivity break. Namely, if attrs is an Attributes, you can no longer write:
attrs + ("key","value")
Instead, you must write:
attrs + (("key","value"))
Map behaves the same way; Attributes was only more permissive because it didn't override variadic +, which caused the compiler to give greater weight to the unary +. But I'm assuming that was unintentional :-)
Code compiled against the old version of Attributes will still be able to run against the new version; the issue only arises at compile time.
Fix return type of Attributes.updated and Attributes.add(x,y,z*)
Merge branch 'master' into attrapi
Add Zipper.withFilter override
Remove hashCode cache
changed all error() calls to sys.error() calls
Reinstante public Attributes constructor for passivity, but deprecate it