Blocks

A few different block related things, see individual commit comments.