The newly released version (0.2) addresses this. All the binary reading/writing primitives use result by default and have _opt and _exn variants.
The JSON primitives are not yet changed because they rely on an external library that has more idiosyncratic error management. (This will eventually be fixed in a future version.)