Add field definitions. Allow override of cast type