You know, maybe we should just make `beside` take a `Direction`!  Semantically, that's really what's going on anyway, since the magnitude of the input to `beside` is ignored.