By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Apply DisableMutationsFor to BindStmt RHS too
GHC 9.10+ expands @do { p <- e; rest }@ into @(>>=) e (\p -> rest)@ in
the renamer, so the typechecked AST no longer carries a 'BindStmt' the
plugin can match on directly. The original 'BindStmt' is preserved
inside the expansion's 'OrigStmt' field; recognise it there and apply
the 'DisableMutationsFor' scope to the @e@ argument of @(>>=)@ — not to
the continuation lambda, whose body has its own subsequent bind
expansions.
| Time to Start | Worker time | Duration | Time to finish | |
| Config | 0s | 2s | 2s | 3s |
| Eval | 3s | 41s | 41s | 45s |
| Build | 6s | 1m49s | 38s | 45s |
| Test | - | - | - | - |
| Deploy | - | - | - | - |
| Suite | 0s | 2m34s | 45s | 45s |