In many ways this seems like a number of established but not widespread ideas (capabilities, wrapper types that adapt the capability mode) wrapped in slightly obscure language.
I hope this works, and gets copied in other places. I like that this is all very explicit. I hope the final version is able to thread the needle of both explicit but not cumbersome.
I say all of this as someone who doesn’t write ocaml (or really any ML).