Added a special syntax for types
Renamed type keyword to type_func
Only require variables once
Fixes
Dereference pointers before accessing fields
Remove -> operator for values
Generate correct code for accessing shared object as a field
Pass nullptr when data is not needed
Added initializer lists
Updated examples