module Return: BatReturntype 'a t
'aval label : ('a t -> 'a) -> 'alabel f creates a new label x and invokes
f x. If, during the execution of f, return x v
is invoked, the execution of f x stops
immediately and label f returns v.
Otherwise, if f x terminates normally and
returns y, label f returns y.
Calling return x v from outside scope f
is a run-time error and causes termination
of the program.
val with_label : ('a t -> 'a) -> 'alabelval return : 'a t -> 'a -> 'breturn l v returns
to the point where label l was obtained
and produces value l.
Calling return l v from outside the scope
of l (i.e. the call to function label
which produced l) is a run-time error
and causes termination of the program.