add macro to expand type structure