Blocks are expressions too, so they can be used as r-values in
assignments. The last expression in the block will be assigned to the
l-value. However, if the last expression of the block ends with a
semicolon, the return value will be ().