This is a good point - currently, only inner & outer join are done through alignment. I believe that left and right joins are implemented by calling reindex on the other index, which just performs lookup repeatedly. That could perhaps be done more efficiently on ordered frames...

(But maybe that just means we could have more efficient `Reindex` implementation...)