_Especially_ if, as Ian mentioned, visit() will sometimes stop recursing prematurely without even returning an error code (which seems like what happens in helperCallback() -- it silently discards errors and assumes that whole subtree has been visited).