Create a block by using a block and getting the block in a ring by using a block

I made a version of the first block, though it's not as simple as you might have liked:

Note that the percentage signs in the spec mean names, not types.