update: now can generate with macro wrap and typealias for typedefs