This problem is not solved by monads, but by higher kinded types in general in languages like Haskell. They give you a uniform way to be generic over effects like async (Async<A>) vs sync (Identity<A>). Both of these can be treated as (F<A>) for all A. So a generic Into would look like the following, and no special syntax or semantics would be needed. The type system (if sound) would prevent you from misusing a trait like this.
I’m a long time functional programming enthusiast and work with Haskell and PureScript professionally. I recently created the PureScript community on this instance and would be happy to to moderate the Haskell community as well.
ChinaTalk - India's Chip War (podcasts.google.com)
If money was not an issue, would you move to an entirely different state or country?
If yes, where would you move to?...
Bluefin - a new Haskell effect system library (web.jaguarpaw.co.uk)
FPIndia Learn Haskell meetup this Saturday
The next #FPIndia Learn #Haskell meetup is going to be this Saturday 24 Feb in #Gurgaon....
Extending Rust's Effect System (blog.yoshuawuyts.com)
Introducing Pkl, a programming language for configuration (pkl-lang.org)
Indian military parade (streamable.com)
https://files.catbox.moe/3f8q8z.mp4
Welcome to the Programming.Dev haskell community!
This is a spot to chat about anything relating to the haskell programming language!...