refactor back to nested objects
test streaming
integers as hex
test edge cases
tidy
make update idempotent, and track when trees are in sync (inprogress)
failing tests
more work on stream.js, stuff I should have committed before
tidy tests
expand, but represent whether it's a branch or leaf
handle leaves