int count = 0;
for( Comparable sourceField : sourceFields )
{
Type incoming = sourceFields.getType( sourceField );
Type outgoing = fieldTypeResolver.inferTypeFrom( count++, sourceField.toString() );
if( incoming != outgoing )
coercedFields = coercedFields.append( new Fields( sourceField, outgoing ) );
}