Yeah I have those in my repo. Look for serialize in the link in my profile.
I'll add it to anarki later today.
Update: I just found myself complaining about this nearly 3 years ago, along with an implementation: http://arclanguage.org/item?id=10677. Not as clean as serialize, though.
Update 2: Ok, now read and write work with nested tables. You can read the output of write:
arc> (= h (w/instring f (tostring (write (obj a 1 b (obj c 3 d 4)))) read.f))
#hash((a . 1) (b . #hash((c . 3) (d . 4))))