[GHC] #15100: `ApplicativeDo` needlessly uses `join` too much