cleanups:
use internal function in Walk()
misc assignmentest and printing cleanups