Get rid of an evaluate_pieces() overload

Rewrite and greatly simplify that part of code.

No functional change.