Working up to register type declaration

Still needs zero padding / sign extension and possibly other error
conditions