Sorry about that. Clearly I am incapable of computing a least fixed point by hand. For some reason I had concluded that dfsPop() was one of the functions getting passed around.