Tests related to generalizing monadic binds and do
-notation to universe polymorphic monads in Lean 4.
TODO
- A lot more examples with trickier inference situations:
- Stress on universe inference in occurrences of
Prod
rather thanMProd
- Complex combinators like
for in do
,try catch
, etc - Polymorphic monad operations based on eg.
[MonadRef m]
,[MonadEnv m]
,[MonadLift m m']
- "Auto-lifting"
- Stress on universe inference in occurrences of
- Generalizing the output type to cover more complex bind instances
- Alternate approach: consider trying
is_monadic