lean4-htt/src/Std/Sync
Eric Wieser 9338aabed9
fix: move the monad argument for ForIn, ForIn', and ForM (#10204)
This PR changes the interface of the `ForIn`, `ForIn'`, and `ForM`
typeclasses to not take a `Monad m` parameter. This is a breaking change
for most downstream `instance`s, which will will now need to assume
`[Monad m]`.

The rationale is that if the provider of an instance requires `m` to be
a Monad, they should assume this up front. This makes it possible for
the instanve to assume `LawfulMonad m` or some other stronger
requirement, and also to provided a concrete instance for a particular
`m` without assuming a non-canonical `Monad` structure on it.

Zulip: [#lean4 > Monad assumptions in fields of other typeclasses @
💬](https://leanprover.zulipchat.com/#narrow/channel/270676-lean4/topic/Monad.20assumptions.20in.20fields.20of.20other.20typeclasses/near/537102158)
2025-11-25 12:20:37 +00:00
..
Barrier.lean refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
Basic.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Broadcast.lean fix: move the monad argument for ForIn, ForIn', and ForM (#10204) 2025-11-25 12:20:37 +00:00
CancellationToken.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Channel.lean fix: move the monad argument for ForIn, ForIn', and ForM (#10204) 2025-11-25 12:20:37 +00:00
Mutex.lean refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
Notify.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
RecursiveMutex.lean refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
SharedMutex.lean refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00
StreamMap.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00