closing in on stack variant of callCC