most of the way to functorizing the evaluation stack