# Module Topkg.R

    module R: sig .. end

Result value combinators.

## Errors

    val reword_error : ('b -> 'c) -> ('a, 'b) Topkg.r -> ('a, 'c) Topkg.r

`reword_error reword r` is:

- `r` if `r = Ok v`
- `Error (reword e)` if `r = Error e`

## Error messages

    type msg = [ `Msg of string ]

The type for (error) messages.

    val error_msg : string -> ('b, [> msg ]) Topkg.r

`error_msg s` is `Error (`Msg s)`.

    val error_msgf : ('a, Stdlib.Format.formatter, unit, ('b, [> msg ]) Topkg.r)
           Stdlib.format4 -> 'a

`error_msgf fmt ...` is an error formatted according to `fmt`.

    val reword_error_msg : ?replace:bool ->
           (string -> msg) ->
           ('a, msg) Topkg.r -> ('a, [> msg ]) Topkg.r

`reword_error_msg ~replace reword r` is like `Topkg.R.reword_error` except if `replace` is `false` (default), the result of `reword old_msg` is concatened, on a new line to the old message.