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