Seems to me the issue is that bar is in tail position and a local call. This results in the parent frame actually being bar's grand-parent's frame.
Seems to me the issue is that bar is in tail position and a local call. This results in the parent frame actually being bar's grand-parent's frame.