Copy-pasting `x_direction_t` once was OK, but since we're about to do that again… not so much. Part of P0174, funded by Ember2528.