- You can't return the vector-set! from leaf-map's lambda. That would lose the acc, which is the new (make-node).
- 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.