[GHC] #15034: Desugaring `mdo` moves a `let` where it shouldn't be