sig
  type ('a, 'b) t = { result : 'a; more_things_todo : 'b list; }
  val return :
    ?more_things_todo:'a list -> '-> ('b, 'a) Oredoc.Meta_result.t
  val bind :
    ('a, 'b) Oredoc.Meta_result.t ->
    f:('-> ('c, 'b) Oredoc.Meta_result.t) -> ('c, 'b) Oredoc.Meta_result.t
  val ( >>= ) :
    ('a, 'b) Oredoc.Meta_result.t ->
    ('-> ('c, 'b) Oredoc.Meta_result.t) -> ('c, 'b) Oredoc.Meta_result.t
end