Support field type subclasses

Will write headers if the type of a field is a subclass of the supported native types