This still has the duplication dave wanted to avoid.
If you passed in +1 and -1 as the direction then you could use the +/- part of that to turn the direction of movement into 50%/-50%
Or something else that has a similar effect :)