Evaluating by-name parameters only once