sig
  type -'a return = private { return : 'b. '-> 'b; }
  val with_return : ('With_return.return -> 'a) -> 'a
  val with_return_option : ('With_return.return -> unit) -> 'a option
  val prepend :
    'With_return.return -> f:('-> 'a) -> 'With_return.return
end