FIELDS lists use real types instead of SQL strings

This should enable some useful simplifications down the road.