Make either::{partition, flip, to_result} take their arguments by-value

Addresses an XXX