They can actually be used pretty much anywhere, i've seen people use them where they have absolutely no use at all, but the code works fine, eg:
alias test {
goto test
return
:test {
echo -a test
echo -a 1 2 3
}
}
In fact, I suppose you could use that to name or describe blocks of code without using comments:
alias test {
:echo some numbers {
echo -a 1
echo -a 2
}
:message a few channels {
msg #chan1 hi
msg #chan2 there.
}
}