Traversable mixin! That would be great!

As for API, probably best just would work out what your current needs
are (I assume you have a current need ;-), and implement that first.
Most of the rest wil probbly fall out from there, and then others can
offer additional suggestion for functionaity. That's how I'd probbly go
about it, anyway.

Keep me informed and I'd be glad to help in any way I can.
HTH,
trans.