> I thought one big selling argument of monads was also that the type of the functions shows which effect it performs. As I understand it, it is not the case for effects, at least not in existing implementations like multicore ocaml.

Whilst the current implementation in multicore OCaml does not track effects at the type level,
there is a prototype version which does:

    https://github.com/lpw25/ocaml-typed-effects

I spoke about it at HOPE last year:

    https://www.youtube.com/watch?v=ibpUJmlEWi4&list=PLnqUlCo055hVLWbmrXyxqYXcJJWSgU6Z5&index=1
    http://www.lpw25.net/talks/hope2016.pdf

Regards,

Leo