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