yeah, is there a way to deserialize using (val, err) instead of *val when the field is optional?
The unmarshal functions take a reference but they don’t need to be declared as (heap-based) pointers. You can pass a `&val` directly. It needs a reference passed in to determine the type.