As titled, the spec says that "loop" is
a block with a label at the beginning which may be used to form loops.
and for "block":
the beginning of a block construct, a sequence of instructions with a label at the end.
But with the help of "br" (used for switching branch to a labeled block), I can form the same control structure even with "block", right?. So, what's the difference between these two instructions?