This article is from the FAQ, by with numerous contributions by others.
Labelled imperatives were previously defined in the language in two forms:
(L: Imp1; ...; :L)
The second form has now been removed from the language. Instead, the
compiler offers the form
L: (# do Imp1; ... #)
Note that this form is implemented very efficiently in the case where there
are no declarations in the object descriptor (i.e. between (# and do).