Question around joins. I generally see all my joins use shuffle hash join, which is different from what I see many times with Spark that uses sort merge by default I believe. Curious how Daft chooses the join strategy and how that differs from how spark chooses the strategy leading to differences in how both engines decide to join the same data.