(read|write|modify)_register, _strobe, _burst takes narrowly typed as arguments. This is somewhat annoying as the only difference is that they or in some access offset to the address, and transfer buffers of various sizes. Probably quite a few loc's to remove.