This was an oversight. Even though we apparently don't have tests for this anywhere, it is what the old functional macros do.
This is bare-bones and is missing many features which we intend to add in future commits, such as parsing from attributes whose names differ from the field names and parsing into non-String types.