register types, not pointers to types