Abstract away from Lwt / Add support for Async
The core of irmin currently depend on Lwt. Could we lift that constraint ?
I'm not against abstract IO in principle, but I believe we have had issues with trying to unify Lwt and Async semantics before. @dinosaure knows the details there.
It would also be a big refactor at this point, so it would be nice to have some specific use-cases in mind before beginning such an undertaking.
The use case is simply to experiment with irmin inside an existing async codebase.
I think it might be better to wrap the Lwt scheduler inside Async for this experiment (see https://discuss.ocaml.org/t/best-practice-on-mixing-async-and-lwt/4473). Do you want to give that a try for the experiment? (ping us on Slack to unblock if stuck)
Could be solved by #1325
The issue no longer relevant for me