add Put#codes
Put spec: factor out a common subject
allow Put#codes to take a block
putify all the hashes and codify all the keys