This is similar to what we did earlier for fields of the Section class.
When a field is optional we can use the =<none> syntax in macros.
I am using this functionality in the patch that going to post soon.
I've added few test cases, I am not sure if we want to test all of fields,
as handling of "Optional<>" is generic and common.
Don't we need obj2yaml testing for these changes?