regenerating with typedefs