ReportBuilder.Field provides a way to define fields that can be used to
generate reports.
A field accessor is a function that takes a record and returns a string.
Create a new field with a name and an accessor function.
Define field access for a boolean.
Define field access for an integer.
Define field access for a string.
Mark a field as optional.
Define field access for the length of a list.
Given a field and a corresponding record, return the value of the field.
A field describes a column in a report. It has a name, an accessor function and a type.