This doesn't particularly feel right; seems like there should be some sort of `reverse` call