fixed register type generation