- TODO: missing test for init with functions
- TODO: missing test for init with expressions
- TODO: missing test for init structured types with optional fields
