Make `move_dir()` atomic again

Would be nice but not critical imo.

Those expressions are not equivalent afaik, I think of it in terms of [Karnough maps](http://en.wikipedia.org/wiki/Karnaugh_map) :)