defining basic fields
describing how we wish to define fields with macros
change default format to progress
ws
pass through type
defining and registering fields together
scoping
memoisation of registers
defining the field registry
field registry
refactor and pass along options
fields have options