Is there not some way we can have a lineDash attribute that returns a manipulatable object that inherits from Array rather than the current Java-like API? I remember this was discussed when getLineDash() and setLineDash() were added, but I think it's worth taking another look at this.
(For URLs I want something similar for path segments and I'd rather not introduce get/set methods.) -- http://annevankesteren.nl/