You can't return the vector-set! from leaf-map's lambda. That would lose the acc, which is the new (make-node).
I found this one, I was just being careless.
A function having an undefined return value means that the return is not specified, so the caller may not assume anything about it. It does not mean that the function guarantees to return anything in particular, like #<unspecified> or #<undef> -- that would actually make it have a defined return value.
Yes I know, I'd just rather be consistent with the surrounding system if at all possible (it might not be without using implementation specific extentions).
Mostly just aesthetic changes (I think I'm done with these) and fixing radix-map yesterday: http://ix.io/1Bix