type-register struct types