sig
  val ( >>= ) :
    ('a, 'b) Stdlib.result ->
    ('-> ('c, 'b) Stdlib.result) -> ('c, 'b) Stdlib.result
  val ( >>| ) :
    ('a, 'b) Stdlib.result -> ('-> 'c) -> ('c, 'b) Stdlib.result
  type ('a, 'b) r = ('a, 'b) Stdlib.result = Ok of '| Error of 'b
  type 'a result = ('a, [ `Msg of string ]) Topkg_result.r
  module R :
    sig
      val reword_error :
        ('-> 'c) -> ('a, 'b) Topkg_result.r -> ('a, 'c) Topkg_result.r
      type msg = [ `Msg of string ]
      val msgf :
        ('a, Stdlib.Format.formatter, unit, [> Topkg_result.R.msg ])
        Stdlib.format4 -> 'a
      val error_msg : string -> ('b, [> Topkg_result.R.msg ]) Topkg_result.r
      val error_msgf :
        ('a, Stdlib.Format.formatter, unit,
         ('b, [> Topkg_result.R.msg ]) Topkg_result.r)
        Stdlib.format4 -> 'a
      val reword_error_msg :
        ?replace:bool ->
        (string -> Topkg_result.R.msg) ->
        ('a, Topkg_result.R.msg) Topkg_result.r ->
        ('a, [> Topkg_result.R.msg ]) Topkg_result.r
    end
end