addFormatterForFieldType

On print, if the Formatter's type T is declared and fieldType is not assignable to T,
a coersion to T will be attempted before delegating to formatter to print a field value.
On parse, if the parsed object returned by formatter is not assignable to the runtime field type,
a coersion to the field type will be attempted before returning the parsed field value.

addFormatterForFieldType

Adds a Printer/Parser pair to format fields of a specific type.
The formatter will delegate to the specified printer for printing
and the specified parser for parsing.

On print, if the Printer's type T is declared and fieldType is not assignable to T,
a coersion to T will be attempted before delegating to printer to print a field value.
On parse, if the object returned by the Parser is not assignable to the runtime field type,
a coersion to the field type will be attempted before returning the parsed field value.