Fix: cache type & allocate struct

- Fix: native struct types are not cached
- Fix: return valid struct name at allocation