Read more types.
Share flag field type between optional and varsize fields.
Add optional fields.
Cleanup formatting of template arguments.