format result separate from evaluate, to allow embedded evals