partial.evaluate: switch implementation